csrf是如何被繞過驗證的呢?

__一念花落丶胡歌


要知道,一個網站的運營並非易事,除了前期的研發投入、後期的運營投入外,網站的安全性也是很重要的。只要你的網站暴露在公網上,肯定會受到很多攻擊,而這些攻擊中有一種攻擊並不需要篡改網站源碼就能發起攻擊,那就是CSRF攻擊。

什麼是CSRF?

CSRF是“跨站請求偽造”的英文簡稱,它主要是利用站點鑑權漏洞來實現攻擊的。通俗的說就是:攻擊者借用了你的身份,以你的名義發起了惡意請求,而對於服務器來說這個請求是完全合法的,比如藉助你的名義來:購買商品、轉帳、刪除某些數據等。

CSRF攻擊原理

導致受到CSRF攻擊的根源在於網站的鑑權機制不嚴謹,沒有判斷用戶的請求來源是否正常。

CSRF防禦措施

知道了CSRF攻擊原理後,我們就可以通過很多措施來進行防範了,方案有以下幾類:

1、驗證請求來源(HTTP Referer)

HTTP請求頭信息中有個字段是Referer,它記錄了當前請求的上一級請求地址。我們可以判斷當前請求來源是否是當前域,若不是,則服務器端拒絕響應。

但是Referer是可以偽造的!

2、請求中添加Token驗證

要抵禦CSRF就要在請求中加入一些讓第三方無法偽造的信息,而且這些信息不能存放在Cookie中!所以我們可以在請求中加入Token,然後由服務器端驗證此Token是否合法。

3、驗證碼

對於一些敏感操作可以要求輸入驗證碼進行確認操作,這樣就完全解決了CSRF了,只是操作流程上麻煩一些。

以上就是我的觀點,對於這個問題大家是怎麼看待的呢?歡迎在下方評論區交流 ~ 我是科技領域創作者,十年互聯網從業經驗,歡迎關注我瞭解更多科技知識!


分享到:


相關文章: