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