筆者與近日從互聯(lián)網(wǎng)應(yīng)用安全提供商知道創(chuàng)宇安全研究團隊處得悉,目前有一項嚴重危害用戶隱私的漏洞剛剛被發(fā)現(xiàn),包括旅游,招聘,娛樂,SNS交友,各大電商等各類網(wǎng)站均會被影響。經(jīng)知道創(chuàng)宇安全研究團隊測試,該安全漏洞在國內(nèi)使用第三方登錄機制的網(wǎng)站中普遍存在,甚至知名的安全廠商360的網(wǎng)站平臺以及360瀏覽器也存在這個問題。由于此類攻擊不受同源策略等瀏覽器的安全限制,且不易被目標發(fā)現(xiàn),因此危害嚴重。一旦被利用,用戶的帳號會被永久劫持,賬戶信息會被任意瀏覽和改動。由于之前出現(xiàn)過關(guān)聯(lián)類漏洞,疑似已經(jīng)有攻擊者開始利用這個漏洞進行實際攻擊,請廣大網(wǎng)民確認自身賬號信息是否已遭惡意劫持,及時采取措施保護自身賬號。
經(jīng)知道創(chuàng)宇安全研究團隊確認,此漏洞是由于開發(fā)人員沒有正確按照OAuth2授權(quán)機制的開發(fā)文檔使用OAuth2,導(dǎo)致攻擊者能夠?qū)嵤┛缯菊埱髠卧?CSRF)通過第三方網(wǎng)站來劫持用戶在目標網(wǎng)站的賬戶。
劫持流程:
虛擬測試:
攻擊者想通過自己的微博劫持并登錄受害人的賬戶
如上圖所示,正常的授權(quán)流程,用戶點擊授權(quán)后便不再可控,剩下的工作由第三方應(yīng)用和授權(quán)服務(wù)器(資源提供方)進行交互來完成。而攻擊者可以阻止授權(quán)流程的正常進行,將中間的關(guān)鍵URL截取下來,誘騙用戶訪問,成功后可以將受害人的賬戶綁定到攻擊者的微博賬戶上。此后,攻擊者可以使用微博的賬戶自由登入受害人的主站賬戶及瀏覽器賬戶,任意查看和修改用戶的隱私數(shù)據(jù)。
受到OAuth2 CSRF漏洞影響的部分網(wǎng)站列表(測試后):
安全廠商:360網(wǎng)站 360瀏覽器 …
it媒體:CSDN 中關(guān)村在線 …
團購:糯米團購 …
資訊:果殼 …
購物分享:蘑菇街 …
電商:聚美優(yōu)品 …
視頻:優(yōu)酷 樂視網(wǎng) CNTV …
招聘:大街 …
婚介:百合網(wǎng) …
輕博客:點點 …
SNS :開心網(wǎng) …
知道創(chuàng)宇安全研究團隊對于OAuth2 CSRF漏洞防御,建議如下:
1)對于開發(fā)人員:
1,授權(quán)過程中傳遞state隨機哈希值,并在服務(wù)端進行判斷。
2,在綁定過程中,應(yīng)強制用戶重新輸入用戶名密碼確認綁定,不要直接讀取當前用戶session進行綁定。
3,限制帶有Authorization code參數(shù)的請求僅能使用一次(避免重放攻擊)
4,推薦使用Authorization Code方式進行授權(quán),而不要使用Implicit Flow方式。這樣access token會從授權(quán)服務(wù)器以響應(yīng)體的形式返回而不會暴露在客戶端。
2)對于普通用戶:
定期查看重要網(wǎng)站的第三方帳號綁定頁面,檢查是否有陌生的其他帳號綁定到自身賬戶,如果發(fā)現(xiàn)應(yīng)立即取消綁定或授權(quán)。