CSRF
-
CSRF
全拼爲Cross Site Request Forgery
,譯爲跨站請求僞造。 -
CSRF
指攻擊者盜用了你的身份,以你的名義發送惡意請求。- 包括:以你名義發送郵件,發消息,盜取你的賬號,甚至於購買商品,虛擬貨幣轉賬…
CSRF的特點
- 攻擊一般發起在第三方網站,而不是被攻擊的網站。被攻擊的網站無法防止攻擊發生。
- 攻擊利用受害者在被攻擊網站的登錄憑證,冒充受害者提交操作;而不是直接竊取數據。
- 整個過程攻擊者並不能獲取到受害者的登錄憑證,僅僅是“冒用”。
- 跨站請求可以用各種方式:圖片URL、超鏈接、CORS、Form提交等等。部分請求方式可以直接嵌入在第三方論壇、文章中,難以進行追蹤。
CSRF通常是跨域的,因爲外域通常更容易被攻擊者掌控。但是如果本域下有容易被利用的功能,比如可以發圖和鏈接的論壇和評論區,攻擊可以直接在本域下進行,而且這種攻擊更加危險。
防護策略
CSRF通常從第三方網站發起,被攻擊的網站無法防止攻擊發生,只能通過增強自己網站針對CSRF的防護能力來提升安全性。
上文中講了CSRF的兩個特點:
- CSRF(通常)發生在第三方域名。
- CSRF攻擊者不能獲取到Cookie等信息,只是使用。
針對這兩點,我們可以專門制定防護策略,如下:
- 阻止不明外域的訪問
- 同源檢測
- Samesite Cookie
- 提交時要求附加本域才能獲取的信息
CSRF Token
- 雙重Cookie驗證