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 -Ashasum -b -a 384 FILENAME.js | awk '{ print $1 }' | xxd -r -p | base64
这些工具的输出必须作为附加属性添加,特别是:integrity 和 crossorigin=anonymous 或 crossorigin=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 |