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