iT邦幫忙

2024 iThome 鐵人賽

DAY 10
0
Security

WEB仔也要懂資安嗎系列 第 10

10/Cross-site request forgery(CSRF)

  • 分享至 

  • xImage
  •  

Cross-site request forgery(跨站請求偽造)主要指的是攻擊者透過手段讓受害人的瀏覽器發送偽造Request的方式,導致Server端執行非使用者本人的異動。

最常見的舉例就是銀行轉帳(雖然現實不太可能發生)
攻擊者先寫好一個釣魚網頁,只要你進入網頁,或者送出表單,就透過你的瀏覽器發送HTTP Request到銀行去,轉帳給人頭帳戶。

銀行的Server收到Request之後,就會執行交易嗎?
正常來講不會,如果只是發Request給銀行,那攻擊者自己發就好了。

要特地建一個網站給受害者,讓Request從受害者的瀏覽器發送,是因為Server會認客戶端的cookie
攻擊者沒有受害人的cookie,就無法代替他做交易。

因此,假設受害者剛剛登入了網銀又沒登出,瀏覽器還留著網銀的cookie,而這家網銀又做得很爛,沒有任何安全防護機制,然後受害者點了攻擊者的網站,被偷偷的發送了偽造的Request給銀行,帳戶的錢就在不知不覺之間被轉走了。

針對Cross-site request forgery
常見的解法是每次的Request都塞入CSRF Token給Server端驗證、以及在瀏覽器的HTTP Header加上SameSite Cookie的屬性,限制Cookie只能在自己的網站被使用。


上一篇
9/DOM-based Cross-Site Scripting
下一篇
11/Server-side Request Forgery(SSRF)
系列文
WEB仔也要懂資安嗎30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言