You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用OWASP ZAP检测XXE(XML外部实体)漏洞?

使用OWASP ZAP检测XXE漏洞实操步骤

作为安全测试新手,直接按以下步骤落地即可:

  • 第一步:准备ZAP环境
    确保用的是最新版OWASP ZAP(旧版XXE检测逻辑可能存在疏漏),打开后在「目标」面板输入测试网站URL,点击「添加到站点」。

  • 第二步:抓取含XML的请求
    将浏览器代理设为127.0.0.1:8080(ZAP默认代理端口),随后在浏览器中操作目标网站的所有功能,重点触发提交XML数据的场景——比如API接口调用、XML格式表单提交。ZAP会自动把这些请求记录到「历史」面板。

  • 第三步:启用XXE检测规则
    点击顶部菜单「工具」→「选项」→「扫描策略」,找到名为「XXE Injection」的规则组,确保所有子规则处于启用状态。如果想针对性扫描,也可以新建扫描策略,只保留XXE相关规则,减少无关干扰。

  • 第四步:发起主动扫描

    • 批量扫描:在「目标」面板选中整个站点,右键选择「主动扫描」,在弹出的配置窗口确认XXE检测项已勾选后启动扫描。
    • 精准扫描:如果已定位到特定XML请求,直接在「历史」面板选中该请求,右键→「主动扫描此请求」,效率更高。
  • 第五步:自定义XXE Payload(可选)
    ZAP内置payload可能不够全面,可自行补充:

    1. 切换到「Payloads」面板,新建一个payload列表。
    2. 加入常用XXE测试语句,比如读取本地文件的payload:
      <?xml version="1.0" encoding="UTF-8"?>
      <!DOCTYPE test [<!ENTITY xxe SYSTEM "file:///etc/passwd">]>
      <test>&xxe;</test>
      
    3. 在扫描配置中指定使用这个自定义payload列表。
  • 第六步:分析警报与验证漏洞
    扫描结束后,在「警报」面板筛选「XXE Injection」相关条目,查看请求和响应详情:

    • 如果响应返回敏感文件内容(比如/etc/passwd的内容),直接确认漏洞存在。
    • 若警报显示「可能存在XXE」,用ZAP的「Repeater」模块重放请求,或结合ZAP Collaborator生成监听域名替换payload里的文件路径,观察是否能收到外部请求,以此验证漏洞。

内容的提问来源于stack exchange,提问作者user2345

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 00:32:19