本地文件路径操纵(基于DOM的存储)
描述:本地文件路径操纵(基于DOM的存储)
当存储用户输入并随后嵌入DOM的一部分中,然后将基于DOM的漏洞存储在该响应中,然后通过客户端脚本以不安全的方式处理该响应。攻击者可以利用数据存储来控制响应的一部分(例如,JavaScript字符串),可用于触发基于DOM的漏洞。
当脚本使用可控数据作为文件处理API的文件名参数时,就会出现本地文件路径操作。攻击者可能能够使用漏洞来构建一个URL,如果另一个应用程序用户访问该URL,将导致用户的浏览器打开任意的本地文件。
漏洞的潜在影响取决于应用程序对打开文件的使用。如果应用程序从文件中读取数据,则攻击者可能能够检索此数据。如果应用程序将数据写入文件,则攻击者可能能够将特定数据写入敏感文件,例如操作系统配置文件。在这两种情况下,潜在漏洞的实际可利用性可能取决于应用程序中存在的其他合适功能。
Burp Suite会使用动态和静态代码分析自动识别此问题。静态分析会导致实际上无法利用的误报。如果BURP扫描仪未提供动态分析产生的任何证据,则应查看相关的代码和执行途径,以确定是否确实存在此漏洞,或者是否存在缓解措施以阻止剥削。
修复:本地文件路径操作(基于DOM的存储)
避免基于DOM的本地文件路径操作漏洞的最有效方法不是使用源自任何不受信任源的数据将文件名转移到文件处理API。如果应用程序的所需功能意味着此行为是不可避免的,则必须在客户端代码中实现防御,以防止恶意数据访问任意文件。通常,最好通过使用允许的文件名的白名单来实现这一点,并在调用文件处理API之前严格验证该列表的文件名。
参考
脆弱性分类
典型的严重程度
高的
类型索引(HEX)
0x00200352
类型索引(十进制)
2098002