【網絡滲透】什麼是CSRF攻擊?

什麼是CSRF攻擊?

CSRF(Cross Site Request Forgery) 跨站點請求僞造

要完成一次CSRF攻擊,受害者必須依次完成兩個步驟:

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

看到這裏,你也許會說:“如果我不滿足以上兩個條件中的一個,我就不會受到CSRF的攻擊”。是的,確實如此,但你不能保證以下情況不會發生:

1.你不能保證你登錄了一個網站後,不再打開一個tab頁面並訪問另外的網站。

2.你不能保證你關閉瀏覽器了後,你本地的Cookie立刻過期,你上次的會話已經結束。(事實上,關閉瀏覽器不能結束一個會話,但大多數人都會錯誤的認爲關閉瀏覽器就等於退出登錄/結束會話了…)

3.上圖中所謂的攻擊網站,可能是一個存在其他漏洞的可信任的經常被人訪問的網站。

csrf攻擊流程圖如下所示:
在這裏插入圖片描述

CSRF攻擊如何避免?

  1. 前端的每個請求都攜帶csrfToken參數,值爲登錄後寫到瀏覽器中cookie中的值,後端對csrfToken做校驗,因爲第三方地址無法獲取到其他地址的cookie,所以可避免csrf攻擊。

    缺點:前端和後端處理繁瑣

  2. 使用oauth2的驗證方式,登錄系統後將後臺返回的accessToken存到localStorage中,每次訪問接口時自動帶上localStorage中的accessToken

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章