Facebook在發(fā)現(xiàn)并報告了一個基于文檔對象模型的跨站點腳本(DOM XSS)漏洞后,向他獎勵了20,000美元,該漏洞可能被利用來劫持帳戶。
研究人員說,他在 window.postMessage() 方法中發(fā)現(xiàn)了該漏洞,該方法旨在安全地啟用Window對象之間的跨域通信。
研究人員說,識別漏洞的過程始于 適用于java script的Facebook登錄SDK,該SDK創(chuàng)建了代理iframe v6.0 / plugins / login_button.php 以進行跨域通信。
Kumar 發(fā)現(xiàn)的 是,登錄SDK向代理iframe發(fā)送了初始有效負載,并且該有效負載包含“繼續(xù)使用Facebook”按鈕的點擊URL,該URL在代理iframe中呈現(xiàn)。
當用戶單擊“繼續(xù)使用Facebook”按鈕時,來自postMessage 有效負載的URL 在代理iframe中執(zhí)行,這導(dǎo)致java script在Facebook.com上執(zhí)行。
研究人員確定了可以利用此漏洞的兩種方式,一種涉及打開彈出窗口然后與之通信,另一種依靠打開iframe并與之通信。
成功利用此漏洞將使攻擊者可以獲取受害者的會話Cookie并劫持其帳戶。
“由于錯誤的帖子配置,訪問攻擊者控制的網(wǎng)站并單擊Facebook按鈕單擊登錄的用戶將在登錄用戶的facebook.com域上觸發(fā)XSS。這樣一來,一鍵式帳戶接管就可以了!
他發(fā)布了一段視頻來演示這次攻擊:
Facebook于4月17日獲悉這一發(fā)現(xiàn)。三天后,該社交媒體平臺通過“在有效負載URL參數(shù)中添加facebook.com regex域和架構(gòu)檢查”來解決該漏洞。兩周后,該公司向研究人員授予了20,000美元的漏洞賞金。