用途:本技能面向安全测试人员,提供XPath注入漏洞的检测、利用与防护方法论。XPath注入类似SQL注入,源于应用将用户输入直接拼接到XPath查询中,可能导致信息泄露、认证绕过。
主要能力:涵盖漏洞原理与危险代码示例;XPath查询语法与常用函数(text、count、substring、string-length、contains);测试方法,包括识别登录、搜索、XML查询等输入点,用 ' or '1'='1 等特殊字符和逻辑操作符做基础检测;认证绕过(逻辑绕过、注释绕过、布尔盲注);信息泄露与盲注技术(基于布尔值、基于时间如 sleep(5));编码绕过(URL编码、HTML实体编码)与函数绕过。
使用方式:可用XPath Tester、XMLSpy、Oxygen XML Editor、Burp Suite 拦截并修改查询参数观察响应;也可用Python lxml 加载XML文档并执行XPath表达式验证。验证步骤为确认可控查询、验证绕过或泄露、评估影响、记录完整PoC;报告需含漏洞位置、查询构造方式、利用步骤与修复建议。
防护措施:输入验证与转义(转义 ' " [ ] ( ) = > < 空格等字符)、参数化查询(使用XPath变量与XPathVariableResolver)、白名单校验(如 ^[a-zA-Z0-9@._-]+$)、预编译查询模板、最小权限限制查询范围。
限制与注意:仅在授权测试环境中进行;注意不同XPath版本语法差异;测试时避免影响XML数据;需了解目标应用的XPath实现。具体工具版本、平台与收费信息暂未提供。