Google Docs漏洞可竊取私有文檔截圖
包括Google Docs在內(nèi)的許多谷歌產(chǎn)品都有"Send feedback"或"Help Docs improve"的選項(xiàng),允許用戶發(fā)送包含截圖的反饋來(lái)改善產(chǎn)品。該反饋特征部署在谷歌的主網(wǎng)www.google.com,并通過(guò)iframe元素集成在其他域名中,在iframe元素可以從feedback.googleusercontent.com 加載彈窗內(nèi)容。
試想我們使用Google Docs (https://docs.google.com/document) 并提交一個(gè)反饋。點(diǎn)擊Help--> Send Feedback 后,就可以看到彈出的彈窗加載了文檔的截圖。Iframe的源(www.google.com) 與Google docs (docs.google.com)是不同的,因此要成功提交該截圖必須要進(jìn)行跨域通信。實(shí)際上,Google docs會(huì)通過(guò)postmessage發(fā)送每個(gè)像素的RGB值給www.google.com,然后再通過(guò)postmessage重定向這些RGB值到其iframe feedback.googleusercontent.com,然后從像素的RGB值渲染圖像,并將base64編碼的數(shù)據(jù)URI發(fā)送回主iframe。
這一過(guò)程完成后,要寫(xiě)一個(gè)feedback的描述,并點(diǎn)擊發(fā)送描述和圖像到https://www.google.com。
研究人員Sreeram在消息發(fā)送到feedback.googleusercontent.com的過(guò)程中發(fā)現(xiàn)了一個(gè)安全漏洞,攻擊者利用該漏洞可以修改frame未任意的外部網(wǎng)站,因此,可以竊取和劫持要上傳到谷歌服務(wù)的Google Docs截圖。
漏洞產(chǎn)生的原因是Google Docs域名缺乏X-Frame-Options header,因此有可能修改消息的目標(biāo)源(target origin),并利用頁(yè)面和frame的跨域通信來(lái)實(shí)現(xiàn)攻擊。
該攻擊是需要用戶交互的,比如點(diǎn)擊“send feedback”按鈕,漏洞利用可以獲取要上傳的截圖并竊取和發(fā)送到惡意站點(diǎn)。攻擊者只需要將Google Docs文件嵌入到虛假/惡意網(wǎng)站的iframe就可以劫持feedback彈窗來(lái)重定向內(nèi)容到攻擊者控制的域名。
POC視頻參見(jiàn):https://www.youtube.com/embed/isM-BXj4_80
更多技術(shù)細(xì)節(jié)參見(jiàn):https://blog.geekycat.in/google-vrp-hijacking-your-screenshots/
本文翻譯自:https://thehackernews.com/2020/12/a-google-docs-bug-could-have-allowed.html