虛擬測試:

攻擊者想通過自己的微博劫持并登錄受害人的賬戶

如上圖所示,正常的授權流程,用戶點擊授權后便不再可控,剩下的工作由第三方應用和授權服務器(資源提供方)進行交互來完成。而攻擊者可以阻止授權流程的正常進行,將中間的關鍵URL截取下來,誘騙用戶訪問,成功后可以將受害人的賬戶綁定到攻擊者的微博賬戶上。此后,攻擊者可以使用微博的賬戶自由登入受害人的主站賬戶及瀏覽器賬戶,任意查看和修改用戶的隱私數據。

受到OAuth2 CSRF漏洞影響的部分網站列表(測試后):

知道創(chuàng)宇安全研究團隊對于OAuth2 CSRF漏洞防御,建議如下:

1)對于開發(fā)人員:

1,授權過程中傳遞state隨機哈希值,并在服務端進行判斷。

2,在綁定過程中,應強制用戶重新輸入用戶名密碼確認綁定,不要直接讀取當前用戶session進行綁定。

3,限制帶有Authorization code參數的請求僅能使用一次(避免重放攻擊)

4,推薦使用Authorization Code方式進行授權,而不要使用Implicit Flow方式。這樣access token會從授權服務器以響應體的形式返回而不會暴露在客戶端。

2)對于普通用戶:

定期查看重要網站的第三方帳號綁定頁面,檢查是否有陌生的其他帳號綁定到自身賬戶,如果發(fā)現應立即取消綁定或授權。

分享到

huanghui

相關推薦