iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 14
1
Security

應用程式弱點與它們的產地系列 第 14

[Day14]Cross-Site Request Forgery (CSRF)

俗稱為連結攻擊(One Click Attack)。
CSRF 建立在已登入的 XSS 弱點上,算是進階的 XSS 應用。
XSS利用的是使用者對網站的信任,CSRF 利用是網站對瀏覽器的信任。

弱點描述

指使用已身份驗證和授權的Cookie進行應用程式的攻擊,攻擊者可以誘騙受害者發出受害者"非自行提出的請求",像說使用你已登入的Cookie,對你的銀行帳號進行"非自願"的轉帳行為。

弱點利用

<img src="https://BankURL/Transfer.php/?AccountTo=Tiger&Amt=1000">

如果已登入的受害者點擊攻擊者所竄改的圖片連結,則瀏覽器會將包含cookie的請求發送到 Server,若 Server 端沒有再次做驗證,則這樣的攻擊就有機會成功。

修改建議

  1. 建議加上驗證 Token 或是 一次性密碼(OTP)
  2. 於 HTTP Header 加入需要驗證的 token 屬性,但如果是用 XMLHttpRequest,可能會受限於 Ajan 支援度
  3. 部份網站會加上 SameSite Cookies 的屬性,但還是有機會被竄改,就可以繞過這樣的防護,不算最佳解法。
  4. HTTP Referer 也是有機會被改的,像說用舊的瀏覽器版本(IE6) 就可以直接改

//腸胃炎Day2,好一點再來補上 SSRF 好了 Q"Q


上一篇
[Day13]Privacy Violation
下一篇
[Day15]Server-Side Request Forgery
系列文
應用程式弱點與它們的產地17

尚未有邦友留言

立即登入留言