[CSRF] One click attack: 利用網站對使用者瀏覽器信任達成攻擊

Hannah Lin
Hannah Lin
Published in
8 min readJan 10, 2023

--

Understanding Frontend Security 系列文

1. 簡單弄懂同源政策 (Same Origin Policy) 與跨網域 (CORS)
2.
[XSS 1] 從攻擊自己網站學 XSS (Cross-Site Scripting)
3. [XSS 2] 如何防禦 XSS 攻擊
4. Content Security Policy (CSP) — 幫你網站列白名單吧
5. [CSRF] One click attack: 利用網站對使用者瀏覽器信任達成攻擊

CSRF (Cross-Site Request Forgery) 跨站請求偽造,也稱為 One click attack 或 session riding (利用使用者 session 發出不想發的 http request),是利用網站對使用者瀏覽器信任達成攻擊。就像上圖所示,網站以為是使用者在轉帳,事實上卻是 Hacker 把使用者的錢轉出去!

雖然這個攻擊不像 XSS 這麼猖獗,前端能做的事也不太多,但身為網站工程師若能了解他的攻擊原理對資訊安全還是很有幫助的。很建議開始之前先看這個超好懂影片解釋 CSRF

CSRF 攻擊原理

網站以為是使用者在轉帳,事實上卻是 Hacker 把使用者的錢轉出去

CSRF 是怎麼利用網站對使用者瀏覽器信任達成攻擊呢?我們先來簡單說明看看在網站世界中都是怎麼轉帳的

// from evil.com or vulnerable.com
POST /transfer HTTP/1.1
Host: vulnerable.com
Content-Type: application/x-www-form-urlencoded
Cookie: SessionID=hannahlin123

amount=1000000
to=user1234567

--

--