| 正例 | “审计这个接口的 XML 解析是否有 XXE。” | 触发,定位入口、解析器、防护和输出条件 |
| 正例 | “检查项目里 DocumentBuilderFactory 有没有禁用外部实体。” | 触发,读取 parser reference 并输出解析器映射 |
| 正例 | “WAR 里只有 class,帮我看 SOAP XML 处理有没有 XXE。” | 触发,读取反编译策略,先定位 XML 处理类 |
| 反例 | “列出所有 WebService operation。” | 不触发,使用 java-route-mapper |
| 反例 | “追踪这个 XML 字符串到哪个方法。” | 不触发或仅上游,使用 java-route-tracer;若要求判定 XXE 再触发 |
| 反例 | “检查 xstream 版本 CVE。” | 不触发,使用 java-vuln-scanner |
| 边界例 | DocumentBuilderFactory 解析服务端固定 XML 配置 | 记录解析点,通常非漏洞或加固建议 |
| 边界例 | SAXReader 无防护但输入来自数据库 XML 字段 | 待验证或条件成立,取决于数据库字段是否外部可控 |
| 边界例 | SOAP endpoint 存在,但业务代码未直接解析 XML | 不下 XXE 结论,记录框架解析边界 |
| 失败案例 | 把所有 parse() 命中都写成确认漏洞 | 不合格,缺输入可控性和防护分析 |
| 失败案例 | 确认漏洞或条件成立项没有 Burp Suite 请求和 payload | 不合格,缺少开发单位复核材料 |
| 失败案例 | 待验证或不可确认项输出可复制 Burp 请求 | 不合格,候选风险被包装成已确认漏洞 |
| 失败案例 | 输出真实文件读取、内网探测、数据外带、DoS payload、CVSS、CVE、修复版本或模型自检章节 | 不合格,违反输出边界 |
| 失败案例 | 把 XStream 缺少 addPermission 当成 XXE 防护缺口,或在 driver 行为未知时写条件成立 | 不合格,混淆反序列化与 XXE |
| 失败案例 | 根据 Struts 约定猜测 /admin/access_addOrg.action 并输出 Burp 请求 | 不合格,入口证据不足 |
| 失败案例 | Payload 只给 DOCTYPE 片段,未嵌入目标对象 XML 结构 | 不合格,不可直接复核 |
| 失败案例 | 报告写“依据 skill 规则”或列依赖版本清单 | 不合格,暴露内部过程或组件扫描越界 |