CSRF
簡介
Cross-site request forgery 跨站請求偽造
是一種挾制用戶在當前已登錄的Web應用程式上執行非本意的操作的攻擊方法。
CSRF vs XSS
- XSS 利用的是用戶對指定網站的信任
- CSRF 利用的是網站對用戶網頁瀏覽器的信任
例子
假如一家銀行用以執行轉帳操作的URL地址如下: http://www.examplebank.com/withdraw?account=AccoutName&amount=1000&for=PayeeName
那麼,一個惡意攻擊者可以在另一個網站上放置如下代碼:
<img src="http://www.examplebank.com/withdraw?account=Alice&amount=1000&for=Badman">
如果有用戶訪問了惡意站點,而恰好剛訪問過銀行不久,登入資訊尚未過期,那麼交易就會被執行。
解決方法
攻擊者是從第三方網站訪問,因此只要能生成一組攻擊者無法偽造的數據,並且由伺服器進行檢查即可。
例如使用某個token,或是僅供某網域存取的cookie
Reference
https://zh.wikipedia.org/wiki/%E8%B7%A8%E7%AB%99%E8%AF%B7%E6%B1%82%E4%BC%AA%E9%80%A0 http://blog.techbridge.cc/2017/02/25/csrf-introduction/