什麼是跨站請求偽造 (CSRF)?


跨站請求偽造

跨站請求偽造 (CSRF) 是一種網際網路漏洞,它涉及受信任網站使用者發出未經授權的命令。與利用使用者對網站信任的跨站指令碼不同,CSRF 利用網站對特定使用者瀏覽器的信任。會話劫持一鍵式攻擊也是指同一件事。

瀏覽器的“GET”命令通常用作 CSRF 中的漏洞點。為了將命令注入特定網站,CSRF 使用諸如“IMG”之類的 HTML 標籤。然後,網站的特定使用者同時作為主機和無意的幫兇參與其中。由於合法使用者傳送了命令,網站通常不知道自己正在遭受攻擊。攻擊者可能會請求將資金轉移到另一個帳戶,提取更多資金,或將資金髮送到另一個帳戶(對於 PayPal 和類似網站而言)。

它是如何執行的?

CSRF 攻擊很難執行,因為它需要許多因素才能成功:

  • 攻擊者必須在攻擊不檢查引用標頭(標準)的網站或具有瀏覽器或外掛故障(罕見)允許偽造引用的使用者/受害者之間進行選擇。

  • 攻擊者必須在目標網站上找到能夠更改受害者電子郵件地址、更改登入憑據或轉移資金的表單提交。

  • 攻擊者必須找出表單或 URL 上所有輸入的正確值。如果其中任何一個需要是攻擊者無法準確猜測的秘密值或 ID,則攻擊將失敗。

  • 在受害者登入到目標站點時,攻擊者必須吸引使用者/受害者訪問包含惡意程式碼的網頁。

假設甲同時瀏覽他的銀行帳戶並在聊天室聊天。攻擊者(乙)在聊天頻道中發現甲也登入到bank.com。乙誘使甲點選指向幽默圖片的連結。“IMG”標籤提供 bank.com 表單輸入的資料,這將把錢從甲的帳戶轉移到乙的帳戶。如果 bank.com 在轉移資金之前沒有對甲進行二次身份驗證,則攻擊將成功。

預防跨站請求偽造

  • 使用者端:從使用者體驗的角度來看,使用者端預防是無效的;預防可以透過簡單地一次只打開一個標籤頁並且不使用“記住我”功能來實現。

  • 伺服器端:使用 CSRF 令牌是在伺服器端實現 CSRF 保護最常用的方法之一。CSRF 令牌與使用者的會話相關聯,但不會自動提交。只有在網站收到有效的 CSRF 令牌以及 Cookie 時,網站才會繼續執行;攻擊者無法代表使用者執行操作,因為攻擊者無法知道使用者的唯一令牌。

更新於:2021年10月28日

407 次瀏覽

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.