CSRF的攻與防

知己知彼,百戰不殆。html

什麼是CSRF

CSRF,全程跨站請求僞造,也被稱爲:one click attack/session riding,縮寫爲:CSRF/XSRF。安全

一般能夠理解爲:攻擊者盜用了你的身份,以你的名義發送惡意請求。CSRF可以作的事情包括:以你名義發送郵件,發消息,盜取你的帳號,甚至於購買商品,虛擬貨幣轉帳......形成的問題包括:我的隱私泄露以及財產安全。服務器

CSRF原理

csrf

從上圖能夠看出,要完成一次CSRF攻擊,受害者必須依次完成兩個步驟:session

  1. 登陸受信任網站A,並在本地生成Cookie。
  2. 在不登出A的狀況下,訪問危險網站B。

簡單的概述一下就是:當用戶登陸某個網站A獲取到Cookie,在Cookie沒有失效的狀況下訪問了另外一個危險網站B(僞造某個請求方式)可能默認觸發事件達到用戶不知情的狀況下攜帶以前的Cookie請求網站A,從而迷惑服務端請求成功,形成危害。網站

CSRF防護

服務端的CSRF方式方法不少樣,但總的思想都是一致的,就是在客戶端頁面增長僞隨機數csrf

1. 增長僞隨機數

  1. Cookie Hashing(全部表單都包含同一個僞隨機值)
  2. 在表單裏增長Hash值,以認證這確實是用戶發送的請求。
  3. 表單提交後,而後在服務器端進行Hash值驗證

2. 驗證碼

每次的用戶提交都須要用戶在表單中填寫一個圖片上的隨機字符串htm

相關參考:https://www.cnblogs.com/hyddd/archive/2009/04/09/1432744.htmlblog

相關文章
相關標籤/搜索