CSRF:Cross Site Request Forgy(跨站請求偽造)
用戶打開另外一個網站,可以對本網站進行操作或攻擊,容易產生傳播蠕蟲,
CSRF攻擊原理:

1、用戶先登錄A網站
2、A網站確認身份回傳用戶資訊
3、B網站冒充用戶資訊而不是直接獲取用戶資訊,從B網站頁面向A網站發起請求(攜帶A網站身份)
CSRF危害:
利用用戶登錄態
用戶不知情
完成業務請求
盜取用戶資金
冒充用戶發帖
損壞網站名譽等等
如何防御CSRF:
原理步驟3具體細節:
(1)B網站向A網站請求
(2)帶A網站Cookies
(3)不訪問A網站前端
(4)referer為B網站
通過這些細節特征我們可以制定以下防御策略:
1、禁止第三方網站帶Cookies,cookies中新增了same-site屬性可禁止,缺點是瀏覽器兼容性,
2、在A網站前端加入驗證資訊,只有訪問A網站獲得驗證資訊才能正確發送請求,如驗證碼,token,
token防御的關鍵是cookies和表單或者頁面中都要存盤token值,cookie的值和頁面的值需要做比對,
初級做法有個弊端,只有最后一個頁簽的token可以使用,前面打開的頁簽token會失效,
解決token失效問題可以給token設定有效時長存盤多個token,過期token提示用戶重繪頁面從而獲取新token,
3、驗證referer,禁止來自第三方網站的請求,驗證時需要代碼嚴格驗證,不然可以使用帶引數來繞過非嚴格驗證的判斷,
放棄安逸,持續努力——成長
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/418093.html
標籤:其他
