客户端XPath注入(基于DOM的存储)
描述:客户端XPath注入(基于DOM的存储)
当存储用户输入并随后嵌入DOM的一部分中,然后将基于DOM的漏洞存储在该响应中,然后通过客户端脚本以不安全的方式处理该响应。攻击者可以利用数据存储来控制响应的一部分(例如,JavaScript字符串),可用于触发基于DOM的漏洞。
基于DOM的XPATH注入当脚本将可控数据集中到XPath查询中时会产生。攻击者可能能够使用此行为来构建一个URL,如果另一个应用程序用户访问,将导致任意XPATH查询执行,从而导致应用程序检索和处理不同的数据。根据使用查询结果的目的,可以颠覆应用程序的逻辑,或代表用户造成意外操作。
Burp Suite会使用动态和静态代码分析自动识别此问题。静态分析会导致实际上无法利用的误报。如果BURP扫描仪未提供动态分析产生的任何证据,则应查看相关的代码和执行途径,以确定是否确实存在此漏洞,或者是否存在缓解措施以阻止剥削。
修复:客户端XPath注入(基于DOM的存储)
避免基于DOM的XPATH注入漏洞的最有效方法不是将任何源自不受信任源的数据纳入XPath查询中。如果应用程序的所需功能意味着此行为是不可避免的,则必须在客户端代码中实施防御,以防止恶意数据以不合适的方式修改XPATH查询。这可能涉及对特定项目的严格验证,以确保它们不包含任何可能干扰查询结构时的字符。
参考
脆弱性分类
典型的严重程度
低的
类型索引(HEX)
0x00200362
类型索引(十进制)
2098018