攻擊原理
- 用戶登錄A網站
- A網站確認身份后 發送登錄態 例如Cookies
- B網站頁面向A網站發起請求(帶A網站身份)
攻擊危害
- 利用用戶登錄態 => 盜取用戶資金(轉賬、消費)
- 用戶不知情 => 冒充用戶發帖
- 完成業務請求 => 損壞網站聲譽
防御
same-site(Strict、Lax、None) 限制發送第三方 Cookies
驗證碼
驗證referer
token
Cookies 和CSRF關系
- CSRF利用了用戶的Cookies
- 攻擊站點無法讀寫Cookies
疑問
-
Q: Cookies存在同源策略,不同的域名無法訪問 例如,有A,C兩個網站,C網站為惡意網站,C網站是如何獲得A網站的Cookie然后向A網站服務器發送請求的?
A: script、image、iframe的src都不受同源策略的影響 瀏覽器會依據加載的域名附帶上對應域名Cookies。
就是如果用戶在a網站登錄且生成了授權的Cookies,然后訪問b網站,b站故意構造請求a站的請求,如刪除操作之類的,用script,img或者iframe之類的加載a站著個地址,瀏覽器會附帶上a站此登錄用戶的授權cookie信息,這樣就構成crsf,會刪除掉當前用戶的數據。