CSRF攻擊

竹等寒發表於2024-05-17

目錄
  • CSRF攻擊
    • 原理
    • CSRF攻擊分類
    • CSRF漏洞檢測
      • CSRFTester
      • 自解壓
      • 手工檢測
    • 防護手段

CSRF攻擊

客戶端跨站請求偽造

原理

案例

1、使用者登入了某銀行網站,網站返回cookie給使用者
2、使用者點開另一個駭客精心構造好的網站
3、駭客這個網站中有些請求是某銀行的一些交易請求,使用者點進該網站的時候就已經被動的發起了對於這個銀行轉賬交易請求。
4、瀏覽器只會幫你傳送請求,但是某銀行的cookie登入狀態存在瀏覽器中,正好駭客搭建好的網站幫你傳送了該交易請求,那麼攻擊就在悄無聲息中攻擊成功了。

總的來說,CSRF攻擊是建立在你與某個網站之間的會話基礎之上攻擊的。

CSRF攻擊分類

  • 站外攻擊:
    站外攻擊就是剛剛說的那個案例,首先網站沒有加referer校驗,其次對於敏感操作的時候沒有設定token校驗導致或者讓使用者輸入使用者名稱密碼導致的。
  • 站內攻擊:
    站內攻擊是發生在某個站點記憶體在csrf漏洞,那麼攻擊者就能夠將請求程式碼發在一些帖子或者圖片連結裡,使用者檢視的時候就被強迫發起請求了。

CSRF漏洞檢測

CSRFTester

使用工具,該工具是java開發的。預設監聽埠是8008。

  • 瀏覽器開代理監聽8008埠。然後開啟CSRFTester,提交修改密碼操作即可。
    注意:該工具只是做了一個流量監聽,沒有攔截,所以你的這次請求是正常發過去服務端那邊修改密碼成功了的。
    image
  • 點選右下角的生成html頁面即可。
    這裡是幫你生成一個偽造表單,然後你就可以透過點選該html測試一下該網站是否有csrf漏洞了。
    image
    image
    image
  • 點選該頁面裡面就是你生成好的csrf攻擊請求。
    image

自解壓

有的壓縮程式有壓縮成為自解壓格式的,這裡就使用winrar程式來進行實驗。

  • 新增到壓縮檔案
    image

  • 點選自解壓後就會發現變成了exe程式了
    image

  • 高階->自解壓選項
    image

  • 設定->提取後執行
    這裡設定的是你偽造好的請求,當使用者下載你這個軟體雙擊的時候就會自動發起請求。(這其實也算是一種捆綁,因此網上下載下來的軟體不安全就是這個原因)
    image

  • 點選確定後就會生成一個exe程式,該程式你還可以改圖示偽裝得更像。
    image

  • 雙擊後會讓你安裝
    image
    image

  • 如果一些防範意識差的使用者直接就點選瀏覽器並且正好他也開啟了和那個網站的一個會話,那麼這時候傳送請求就寄寄了。↓成功修改密碼。
    image

當然這是兩個小案例,CSRF還能實現拖庫操作,比如discuss論壇有管理員頁面,那麼你就可以嘗試偽造拖庫請求,透過一些xss漏洞釋出一些部落格帖子,當管理員稽核的時候就被攻擊成功了。

手工檢測

透過抓包去除referer去操作看看能不能成功,如果可以就基本代表有csrf漏洞的。沒有token的一般也能抓包驗證下是否存在csrf漏洞。

防護手段

  • 新增http頭referer校驗
  • 加token驗證:csrftoken/jwt
  • 讓使用者在發起某些敏感操作的時候進行登入驗證

相關文章