iT邦幫忙

2025 iThome 鐵人賽

DAY 19
0

攻擊者會誘使使用者的網頁瀏覽器在已經登入的可信網站上,透過利用瀏覽器會自動附帶相關 cookie的特性,讓攻擊者可以偽造請求,代表使用者透過瀏覽器提交未經授權的操作。

攻擊者的網站可能包含 HTML 表單或 JavaScript 程式碼,目的是向目標網頁應用程式發送請求。


原理:

  1. 攻擊者已經知道網頁應用程式執行特定操作所需的請求格式後,將惡意連結發送給使用者。
  2. 受害者的網站身份驗證通常是透過自動傳送的 cookie 進行驗證,當受害者點擊攻擊者分享的連結時,請求就會被發送。
  3. 因為安全措施不足,網頁應用程式無法分辨是真正的使用者請求還是偽造的請求。

可能的影響

雖然 CSRF 不會直接洩露使用者資料,但仍可能會發生更改密碼與電子郵件地址,或執行金融交易等未經授權的操作,因此還是有一定的危險性在。


類型

  • 傳統CSRF
    • 通常集中在透過提交表單執行會改變狀態的動作。
    • 受害者在不知情的情況下被誘導提交表單,相關資料(如 cookie)會被自動帶上。
    • 受害者的瀏覽器會向受害者已驗證的 Web 應用程式表單發送 HTTP 請求。
    • 這些表單可能用來轉帳、修改帳戶資訊或變更電子郵件地址。
  • 非同步CSRF
    • 可在沒有完整頁面請求‑回應循環的情況下啟動操作。
    • 這類攻擊使用非同步呼叫取代傳統的表單提交。
    • 在近代線上應用中很常見,因為大部分都使用非同步伺服器通訊(透過 XMLHttpRequest 或 Fetch API)與 JavaScript。

防禦方法

  • CSRF 測試
    • 主動測試應用程式是否存在 CSRF 漏洞,嘗試發送未經授權的請求,並評估目前已部署的防護措施是否有效。
  • 邊界驗證檢查
    • 評估應用是否有妥善的使用者輸入驗證機制,確認是否存在 反 CSRF 欄位,且伺服器能正確驗證這些欄位。
  • 安全標頭分析
    • 檢查是否設置了關鍵的 HTTP 安全標頭,評估其有效性以防止 CSRF 及其他攻擊向量。
  • 會話管理測試
    • 測試應用的會話管理系統,確認Session Token是否以安全方式產生、傳輸與驗證,以防止未經授權的存取與操作。

上一篇
Side Red - SSRF
下一篇
Side Red - XSS
系列文
30天的資訊安全讀書筆記20
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言