
- 安全測試教程
- 安全測試 - 首頁
- 安全測試 - 概述
- 安全測試 - 流程
- 安全測試 - 惡意軟體
- HTTP 協議基礎
- HTTPS 協議基礎
- 編碼和解碼
- 安全測試 - 密碼學
- 安全測試 - 同源策略
- 安全測試 - Cookie
- 駭客攻擊 Web 應用程式
- 安全測試 - 注入
- 測試身份驗證漏洞
- 測試跨站點指令碼攻擊
- 不安全的直接物件引用
- 測試安全配置錯誤
- 測試敏感資料洩露
- 缺少函式級訪問控制
- 跨站請求偽造
- 存在漏洞的元件
- 未經驗證的重定向和轉發
- 安全測試 - Ajax 安全
- 測試安全 - Web 服務
- 安全測試 - 緩衝區溢位
- 安全測試 - 拒絕服務攻擊
- 測試惡意檔案執行
- 安全測試 - 自動化工具
- 安全測試有用資源
- 安全測試 - 快速指南
- 安全測試 - 有用資源
- 安全測試 - 討論
跨站請求偽造 (CSRF)
CSRF 攻擊迫使經過身份驗證的使用者(受害者)傳送偽造的 HTTP 請求,包括受害者的會話 Cookie 到易受攻擊的 Web 應用程式,這允許攻擊者強制受害者的瀏覽器生成請求,使易受攻擊的應用程式將其視為來自受害者的合法請求。
讓我們藉助簡單的圖表瞭解此缺陷的威脅代理、攻擊媒介、安全弱點、技術影響和業務影響。

示例
這是一個經典的 CSRF 示例:
步驟 1 - 假設易受攻擊的應用程式以純文字形式傳送狀態更改請求,而沒有任何加密。
http://bankx.com/app?action=transferFund&amount=3500&destinationAccount=4673243243
步驟 2 - 現在,駭客構建了一個請求,透過將請求嵌入到儲存在攻擊者控制下的各種站點上的影像中,將資金從受害者的帳戶轉移到攻擊者的帳戶 -
<img src = "http://bankx.com/app?action=transferFunds&amount=14000&destinationAccount=attackersAcct#" width = "0" height = "0" />
動手實踐
步驟 1 - 讓我們透過將 Java 指令碼嵌入到影像中來執行 CSRF 偽造。問題的快照如下所示。

步驟 2 - 現在我們需要將轉賬模擬成一個 1x1 的影像,並讓受害者點選它。

步驟 3 - 提交訊息後,訊息將如下所示。

步驟 4 - 現在,如果受害者點選以下 URL,則執行轉賬操作,這可以透過使用 Burp Suite 攔截使用者操作來找到。我們能夠透過在 Get 訊息中發現它來檢視轉賬,如下所示:

步驟 5 - 現在,點選重新整理後,將顯示課程完成標記。
預防機制
可以透過在隱藏欄位中建立唯一的令牌來避免 CSRF,該令牌將傳送在 HTTP 請求的主體中,而不是在更容易暴露的 URL 中。
強制使用者重新進行身份驗證或證明他們是使用者以保護 CSRF。例如,驗證碼。
廣告