回覆列表
  • 1 # 海陽頂端

    題主,你太天真了,告訴你是防禦不了的。

    先來看一下什麼是CSRF攻擊:CSRF跨站點請求偽造(Cross—Site Request Forgery),攻擊者盜用了你的身份,以你的名義傳送惡意請求,對伺服器來說這個請求是完全合法的,但是卻完成了攻擊者所期望的一個操作,比如以你的名義傳送郵件、發訊息,盜取你的賬號,新增系統管理員,甚至於購買商品、虛擬貨幣轉賬等。

    另一種是服務端攻擊,你也沒有儲存COOKIE,但是服務端很多程式是讓你用SEssion保持會話的。Cookie是放在你本地,Session你修改不了的。但是這種攻擊有時效性,你必須正在瀏覽網頁,好比正在京東買東西,這時駭客給你發的構造的京東連結,你點選就會受到CSRF攻擊。

    所以現在比較安全的網站,能夠防禦CSRF的話,都會讓COOKIE和Session同時使用,並且用的是httponly cookie,同時還會給你一串隨機的服務端用來驗證的TOKEN值。這樣駭客雖然能構造出惡意連線,但是無法知道你的Token值,自然而然就無法攻擊你了。

  • 2 # 網路圈

    首先可以明確的告訴你,完全禁用Cookie可以有效避免CSRF攻擊,但是不能保證完全防禦CSRF攻擊。

    什麼是CSRF攻擊?

    CSRF攻擊是“跨站請求偽造”的英文單詞縮寫,它本質上是利用某種“漏洞”在使用者已登入的應用上執行非本意(不知情)的操作,說得通俗點就是使用者雖然登入了某個系統,但某個操作並不是使用者自己發出的請求,而是攻擊者代為發出的(冒充使用者做了某個操作)。

    CSRF攻擊原理

    CSRF攻擊其實是利用了Web系統對客戶端瀏覽器的信任導致的(源於Web隱式身份驗證機制),根源上還是Web應用系統對於請求沒做嚴格校驗。

    常規CSRF攻擊需要滿足的條件

    1、客戶端使用者已登入Web應用並生成了Cookie儲存在瀏覽器中;

    2、該Cookie沒有過期,而且使用者在新視窗訪問了發起攻擊請求的網頁。

    禁用Cookie無法完全避免CSRF攻擊

    Cookie只是一種會話機制,和伺服器端的Session配合使用的。像現在的Token驗證機制不會用到Cookie,但如果攻擊者拿到了Token依舊可以發起CSRF攻擊。所以說禁用Cookie只能最大限度避免CSRF攻擊,但不能完全避免此類攻擊。

    CSRF防禦建議

    CSRF攻擊其實比較難防,但我們可以透過多種技術手段來規避此類攻擊。

    伺服器端對於請求的Referer欄位要做初步校驗,如果是站外請求則拒絕。但是Referer請求頭是可以偽造的,所以不能全信。

    2、表單新增Token令牌驗證

    表單令牌每次生成都不相同,而且攻擊者無法偽造,當服務端校驗Token失敗時則拒絕請求。

    3、重要敏感操作需要二次驗證

    對於極其重要的操作需要二次驗證,比如圖形驗證碼、簡訊驗證碼等驗證手段確保是使用者本人發出的請求。

    4、相關連結、表單提交地址動態生成

  • 中秋節和大豐收的關聯?
  • 最新嬰兒奶粉排行榜,看看寶寶的奶粉在榜嗎?