Help us learn about your current experience with the documentation. Take the survey.

包含来自不受信任控制域的功能

描述

JavaScript 或 CSS 源文件从第三方域引入,但没有使用 Sub-Resource Integrity (SRI)。 如果攻击者攻陷了托管这些第三方资源的站点,他们可能会注入恶意脚本或 CSS 数据,试图攻击您的应用程序用户。但是,如果应用了 SRI,并且攻击者试图修改脚本内容,浏览器将不会加载该脚本,您的应用程序用户将受到保护,免受恶意篡改。

修复方案

所有识别的资源应从目标应用程序的同一域获取。如果无法实现,强烈建议所有实现 src 值的 script 标签,或实现 href 值的 link 标签都包含 Sub-Resource Integrity。要生成 SRI 完整性值,可以使用 SRI hash 工具,或运行以下命令之一:

  • cat FILENAME.js | openssl dgst -sha384 -binary | openssl base64 -A
  • shasum -b -a 384 FILENAME.js | awk '{ print $1 }' | xxd -r -p | base64

这些工具的输出必须作为附加属性添加,特别是:integritycrossorigin=anonymouscrossorigin=use-credentials。 下面是一个有效的 SRI 保护脚本标签示例:

<script src="https://example.com/example-framework.js"
    integrity="sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxy9rx7HNQlGYl1kPzQho1wx4JwY8wC"
    crossorigin="anonymous"></script>

详情

ID Aggregated CWE Type Risk
829.1 true 829 Passive Low

链接