CSRF 利用與防禦

來源:互聯網
上載者:User

標籤:

針對CSRF的防範:關鍵操作只接受POST請求驗證碼驗證

  如果使用驗證碼,那麼每次操作都需要使用者進行互動,因此沒有token那麼實用。

但是如果你在一個網站作出任何舉動都要輸入驗證碼會嚴重影響使用者體驗,所以驗證碼一般只出現在敏感操作裡面,或者在註冊時候使用。

檢測refer

常見的互連網頁面與頁面之間是存在聯絡的,比如你在www.baidu.com應該是找不到通往www.google.com的連結的,再比如你在論壇留言,那麼不管你留言後重新導向到哪裡去了,之前的那個網址一定會包含留言的輸入框,這個之前的網址就會保留在新頁面標頭檔的Referer中

通過檢查Referer的值,我們就可以判斷這個請求是合法的還是非法的,但是問題出在伺服器不是任何時候都能接受到Referer的值,所以Refere Check 一般用於監控CSRF攻擊的發生,而不用來抵禦攻擊。

Token

目前主流的做法是使用Token抵禦CSRF攻擊。下面通過分析CSRF 攻擊來理解為什麼Token能夠有效

CSRF攻擊要成功的條件在於攻擊者能夠預測所有的參數從而構造出合法的請求。所以根據不可預測性原則,我們可以對參數進行加密從而防止CSRF攻擊。

另一個更通用的做法是保持原有參數不變,另外添加一個參數Token,其值是隨機的。這樣攻擊者因為不知道Token而無法構造出合法的請求進行攻擊。

Token 使用原則

Token要足夠隨機————只有這樣才算不可預測Token是一次性的,即每次請求成功後要更新Token————這樣可以增加攻擊難度,增加預測難度Token要注意保密性————敏感操作使用post,防止Token出現在URL中

CSRF 利用與防禦

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.