Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 1256

XPath 注入

XPath 注入 是什么?

XPath 注入通过不受信任的输入修改针对 XML 文档的 XPath 查询的注入漏洞,可导致数据外发或认证绕过。


XPath 注入发生在应用通过字符串拼接用户输入来构建针对 XML 文档的 XPath 查询时,原理类似经典 SQL 注入。攻击者可使用引号、形如 ' or '1'='1 的布尔恒真式或注释跳出预期表达式,以提取任意节点、绕过基于 XML 用户库的登录,或通过布尔/时间盲注外发数据。该漏洞常见于遗留 SOAP 服务、配置后端以及把凭据存储在 XML 文件中的应用。防御方法包括使用参数化 XPath API、对输入进行严格白名单校验,以及将敏感查询迁移到更安全的数据存储。

示例

  1. 01

    登录查询 //user[name/text()='admin' or '1'='1' and password/text()='x'] 可绕过认证。

  2. 02

    通过布尔条件 substring(//secret,1,1)='a' 实施盲 XPath 注入数据外发。

常见问题

XPath 注入 是什么?

通过不受信任的输入修改针对 XML 文档的 XPath 查询的注入漏洞,可导致数据外发或认证绕过。 它属于网络安全的 攻击与威胁 分类。

XPath 注入 是什么意思?

通过不受信任的输入修改针对 XML 文档的 XPath 查询的注入漏洞,可导致数据外发或认证绕过。

XPath 注入 是如何工作的?

XPath 注入发生在应用通过字符串拼接用户输入来构建针对 XML 文档的 XPath 查询时,原理类似经典 SQL 注入。攻击者可使用引号、形如 ' or '1'='1 的布尔恒真式或注释跳出预期表达式,以提取任意节点、绕过基于 XML 用户库的登录,或通过布尔/时间盲注外发数据。该漏洞常见于遗留 SOAP 服务、配置后端以及把凭据存储在 XML 文件中的应用。防御方法包括使用参数化 XPath API、对输入进行严格白名单校验,以及将敏感查询迁移到更安全的数据存储。

如何防御 XPath 注入?

针对 XPath 注入 的防御通常结合技术控制与运营实践,详见上方完整定义。

XPath 注入 还有哪些其他名称?

常见的别称包括: XPath 查询注入。

相关术语