1. 程式人生 > >CSRF攻擊及防禦措施

CSRF攻擊及防禦措施

CSRF,跨站請求偽造,簡單來說是盜用使用者的身份,以使用者的身份傳送惡意請求,比如以使用者的身份進行銀行轉賬等。

原理:使用者登入信任網站A,並生成本地cookie,在沒有登出A的情況下,訪問了危險網站B,B網站中要求訪問第三方站點,發出request請求,瀏覽器帶著A產生的cookie訪問。

防禦措施:

a.在請求地址中新增token並驗證

在請求中放入攻擊者不能偽造的資訊,並且該資訊不在cookie中,開發者可以在http請求中以引數的形式加入一個隨機產生的token,並且在伺服器建立一個攔截器來驗證這個token。如果請求中沒有token或者token中內容不正確的話,表示可能是攻擊者發動的攻擊。

b.驗證HTTP Referer欄位

http頭中有一個referer,記錄http請求的來源地址,訪問一個安全受限的頁面的請求必須來自同一個網站。當用戶要提交一個請求時,請求的referer值需是提交按鈕(觸發請求)所在的頁面的URL。

c.在http頭中自定義屬性並驗證

通過XHR這個類,一次性給所有該類請求加上csrftoken這個http頭屬性,並且把token值放入其中。

d.驗證碼

每次使用者提交都在表單上填寫一個圖片上的隨機字串作為驗證碼。