你的資料如何被偷走? Web安全篇 - 跨站請求偽造(CSRF )

更新於 2023/04/29閱讀時間約 5 分鐘
互聯網的時代中我們幾乎都離不開網路,那如果能夠對於Web具備基礎的知識,就能夠讓我們在使用網路的過程中提升風險意識,以減少被竊取、盜用的風險,進而保護個人資產,因此多一份知識在身上也就等於多了一份防身的武器,一天學一點,透過微習慣讓我們享受複利的效應。
在前幾篇我們介紹了「同源政策(Same Origin Policy)」與「Web - 跨來源資源共用(CORS)」的基本概念之後,大致上已經了解瀏覽器如何做個守門員,攔截非法的請求/回應,接下來我們就來談談駭客如何繞過「同源政策(Same Origin Policy)」進行跨站請求偽造(CSRF )。
CRSF全名為「Cross Site Request Forgery」中文為跨站請求偽造,相信我們都搭過交通運輸工具,那麼基本上的機制就是認票/卡不認人,假設我們的票/卡片在不知情狀況下被盜取,那麼對方就能直接進入,這套用到網站也是相似的概念,在還未登出的狀況下,Cookie(通行證)被盜用,就能進入你在瀏覽的網站,進而竊取個人資訊,進行下一次的滲透攻擊。

CRSF攻擊示意圖

原則上HTTP是屬於無態的,因此正常狀況下,並不會將正常網站的資訊帶到偽造網站,但由於Cookie的特性,會被附加在每個HTTP的請求中,因此才會產生如下圖般被偽造的風險。
  1. 登入正常網站,並在未登出期間收到釣魚郵件或者訊息。
  2. 點擊該釣魚郵件或訊息所附帶的網址連結。
  3. 進入該網站之後,按下駭客所埋藏的偽造請求按鈕。
  4. 由於Cookie的特性,按下該按鈕後,釣魚網站透過夾帶Cookie的方式,連結到我們尚未登出的正常網站,此時若駭客掌握了重要資訊的位置,那麼將可以使用這樣的偽造身分方式竊取我們的重要資訊,進而進行下一步的攻擊。

如何防範CSRF

在談論如何防範CSRF時,我們將情境分為兩個部分,首先是使用者的部分,接著是網站開發者的部分,當然本篇文章並不會講述太多技術實作細節,著重在概念的貫通,有了概念,相信技術將迎刃而解。

❗❗❗身為使用者可以做什麼防範?

我們每個人在使用瀏覽器時所扮演的角色都是使用者, 因此了解以下防範方式,可以保護我們的資料減少被竊取的風險。
  • 定期清除瀏覽器歷程(所有),避免保留過多資料,萬一被竊取時,資料越多風險越高。
  • 設定瀏覽器封鎖第三方Cookie,雖然Google已經預計2023年底前逐步淘汰Cookie,但目前仍未將之做為預設選項,因此若擔心的朋友,可以自行設定,但某些網站功能可能無法正常使用。
  • 盡量不要瀏覽可疑網站,或者點擊信件、網站中不明連結。
  • 每次使用完一個網站就登出才到下一個網站,避免登入中的狀態被利用。

身為網站開發者應盡到什麼義務?

  • 個資、金流...等重要功能應增設一道牆,多一層的驗證(圖形驗證、簡訊驗證...等),以保障使用者。
  • 表單發送加上CRSF token,並設定為隱藏欄位,每次產生一組令牌,表單發送到後端時,檢查隱藏欄位的令牌是否合法,如此一來就算經過偽造網站,只要偽造網站不知道這組token就無法順利完成動作,但這也是僅防君子不防小人的手法,真正的壞人也能夠駭到我們的CRSF token。
<input type="hidden" name="csrftoken" value=<csrftoken>/>
  • 檢測HTTP Refer,因為我們知道CSRF攻擊者通常來自別的站點,因此透過Refer檢查來源,便可知道這次的請求是否合法。
if (request.headers.referer.includes("domain-1.com")){
...
}

瀏覽器本身的防禦

chrome在51版之後對於Cookie加入了SameSite的屬性,在夾帶Cookie時,會檢查這個屬性的配置,若符合規則,才能自動夾帶Cookie,讓網站開發者可以設定Cookie在什麼情況下才能自動夾帶,設定方式也非常簡單,只要在原本Set-Cookie之後加上SameSite即可:
Set-Cookie: xxxxxxxx; SameSite=Strict
SameSite具備兩種模式,若未指定則預設為Strict
  • Strict:嚴格模式,只有相同來源的網站才能自動帶上Cookie(識別證),也就是完全禁止第三方來源的Cookie。
  • Lex:放寬了一些限制,允許部分的HTML標籤或者HTTP請求,也就是在有限度的情況下可以夾帶第三方的Cookie。
  • None:當然也可以告訴瀏覽器,這個通行證可以不用檢查,但對於使用者來說就比較沒有保障囉,也就容易發生CSRF的狀況。
詳細說明請參考這裡

資源參考

即將進入廣告,捲動後可繼續閱讀
為什麼會看到廣告
avatar-img
116會員
261內容數
哈囉,我是阿Han,是一位 👩‍💻 軟體研發工程師,喜歡閱讀、學習、撰寫文章及教學,擅長以圖代文,化繁為簡,除了幫助自己釐清思路之外,也希望藉由圖解的方式幫助大家共同學習,甚至手把手帶您設計出高品質的軟體產品。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
阿Han的沙龍 的其他內容
互聯網的時代中我們幾乎都離不開網路,那如果能夠對於Web具備基礎的知識,就能夠讓我們在使用網路的過程中提升風險意識,以減少被竊取、盜用的風險,進而保護個人資產,因此多一份知識在身上也就等於多了一份防身的武器,一天學一點,透過微小習慣的積累讓我們享受複利的效應。OO 如何運作? 📷
互聯網的時代中我們幾乎都離不開網路,那如果能夠對於Web具備基礎的知識,就能夠讓我們在使用網路的過程中提升風險意識,以減少被竊取、盜用的風險,進而保護個人資產,因此多一份知識在身上也就等於多了一份防身的武器,一天學一點,透過微習慣讓我們享受複利的效應。 同源(Origin)主要由以下三個部分組成:
何謂DAO? 🔔 傳送門: 一起加入Potato Media 共創Web3.0部落格生態圈吧 🔔 去中心化(Decentralized) 自治(Autonomous) 組織(Corporations) DAO與傳統企業不同之處 傳統組織 官僚體系。 程序非公開透明。 權力集中。 去中心化組織
會談這個主題主要是工作上預計進行Pair Programming的模型來開發,因而蒐集了一些關於Pair Programming這方面的相關概念與執行方向,並整理讓大家共同參考、討論。 🔔還沒成為Potato會員的朋友點這裡加入哦,撰寫文章還能挖礦打造被動收入 🔔 優點 提升程式碼品質 缺點
互聯網的時代中我們幾乎都離不開網路,那如果能夠對於Web具備基礎的知識,就能夠讓我們在使用網路的過程中提升風險意識,以減少被竊取、盜用的風險,進而保護個人資產,因此多一份知識在身上也就等於多了一份防身的武器,一天學一點,透過微小習慣的積累讓我們享受複利的效應。OO 如何運作? 📷
互聯網的時代中我們幾乎都離不開網路,那如果能夠對於Web具備基礎的知識,就能夠讓我們在使用網路的過程中提升風險意識,以減少被竊取、盜用的風險,進而保護個人資產,因此多一份知識在身上也就等於多了一份防身的武器,一天學一點,透過微習慣讓我們享受複利的效應。 同源(Origin)主要由以下三個部分組成:
何謂DAO? 🔔 傳送門: 一起加入Potato Media 共創Web3.0部落格生態圈吧 🔔 去中心化(Decentralized) 自治(Autonomous) 組織(Corporations) DAO與傳統企業不同之處 傳統組織 官僚體系。 程序非公開透明。 權力集中。 去中心化組織
會談這個主題主要是工作上預計進行Pair Programming的模型來開發,因而蒐集了一些關於Pair Programming這方面的相關概念與執行方向,並整理讓大家共同參考、討論。 🔔還沒成為Potato會員的朋友點這裡加入哦,撰寫文章還能挖礦打造被動收入 🔔 優點 提升程式碼品質 缺點
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
投資隨記177_39歲退休老杯杯 給女兒的理財叮嚀_閒聊1_其實妳們早就知道如何成為富人的方法
Thumbnail
大腦是虛擬的資料庫,而你們只有應用到一點點。 當DNA進化,你們的大腦將會開始使用它全部的能力,以便處理所有共時經驗並且取得宇宙的知識。 憤怒是自然的情緒。如果讓它自然而然地顯化,它會自然消散。你們需要經驗憤怒來釋放造成憤怒的能量,不過,在釋放的過程當中不應傷害他人,而應質疑你們為何會怒氣沖沖。
Thumbnail
什麼是圖形文字? 圖形文字有別於一般的中文、英文、數字,他是以圖案的方式顯示於銀幕上🤩,可以讓輸入資料時得以更加的生動活潑🎉。 圖形文字如何輸入? 圖形問字輸入方式超級簡單,只要在鍵盤上按下WINDOWS+;,就會跑出圖形文字的視窗了,接下來只要點選自己喜歡的圖樣就能插入到文章內囉~ 而且圖形文
Thumbnail
想知道用怎樣的策略協助自己把選擇權翻倍嗎?歡迎訂閱我的交易策略專欄。這篇文章獻給廣大的支持讀者做參考,請原諒我有一些時間缺漏記錄。 倒莊行情紀錄表(要紀錄是否在尾盤還是早盤倒莊,記錄於20230709) 20230308 有倒莊 15800call從1.1變成11(收盤結算) 收盤變10倍,最高13
Thumbnail
每個學術新手必犯的錯誤,就是文獻收集不夠。 新手常常會誤會自己的想法前無古人後無來者,以為自己的研究想法很有價值。然而,這都只是讀的文獻不夠多而已。一個有價值的想法,不僅需要深度和廣度,也需要大量的文獻來增加引用和提高說服力。 記得,豐富的文獻資源能讓你的觀點更具有說服力。
Thumbnail
在全民瘋投資的盛況下,許多人夢想著財富自由,紛紛將積蓄投入股市、虛擬貨幣,加入各種群組討論區尋找致富的方法。 然而,有些看似好得不真實的「財富密碼」,極有可能是詐騙集團將你步步引入陷阱的套路⋯⋯
所以,創造,不是為了要讓世人記憶你,而是為了要強大自己的心智,每一份創造,都將豐富你的存在,你自身的存在——當然,它的附加效應是,也豐富了人間、推進地表物種的變化。
Thumbnail
在職場上的每個工作轉換,都彷彿舞台劇換幕,而最終在幕前的光鮮,終有落幕時刻。會讓人感動的,往往不是那一句台詞或是一個動作,而是舞台劇從頭到尾所營造出讓觀眾跟著同喜同悲、甚至代入自己到角色中的共情。 而在謝幕之時,你想如何被記得呢?
Thumbnail
又到了大五進醫院的季節,想起以前菜菜的自己被VS智商輾壓的恐懼。每次報告就好像赤裸裸地站在台前,所有缺陷在醫師眼中無所遁形。 我花了超過半年的時間才逐漸適應這種氣氛。以下分享三本書伴隨三個步驟,治癒我的玻璃心。
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
投資隨記177_39歲退休老杯杯 給女兒的理財叮嚀_閒聊1_其實妳們早就知道如何成為富人的方法
Thumbnail
大腦是虛擬的資料庫,而你們只有應用到一點點。 當DNA進化,你們的大腦將會開始使用它全部的能力,以便處理所有共時經驗並且取得宇宙的知識。 憤怒是自然的情緒。如果讓它自然而然地顯化,它會自然消散。你們需要經驗憤怒來釋放造成憤怒的能量,不過,在釋放的過程當中不應傷害他人,而應質疑你們為何會怒氣沖沖。
Thumbnail
什麼是圖形文字? 圖形文字有別於一般的中文、英文、數字,他是以圖案的方式顯示於銀幕上🤩,可以讓輸入資料時得以更加的生動活潑🎉。 圖形文字如何輸入? 圖形問字輸入方式超級簡單,只要在鍵盤上按下WINDOWS+;,就會跑出圖形文字的視窗了,接下來只要點選自己喜歡的圖樣就能插入到文章內囉~ 而且圖形文
Thumbnail
想知道用怎樣的策略協助自己把選擇權翻倍嗎?歡迎訂閱我的交易策略專欄。這篇文章獻給廣大的支持讀者做參考,請原諒我有一些時間缺漏記錄。 倒莊行情紀錄表(要紀錄是否在尾盤還是早盤倒莊,記錄於20230709) 20230308 有倒莊 15800call從1.1變成11(收盤結算) 收盤變10倍,最高13
Thumbnail
每個學術新手必犯的錯誤,就是文獻收集不夠。 新手常常會誤會自己的想法前無古人後無來者,以為自己的研究想法很有價值。然而,這都只是讀的文獻不夠多而已。一個有價值的想法,不僅需要深度和廣度,也需要大量的文獻來增加引用和提高說服力。 記得,豐富的文獻資源能讓你的觀點更具有說服力。
Thumbnail
在全民瘋投資的盛況下,許多人夢想著財富自由,紛紛將積蓄投入股市、虛擬貨幣,加入各種群組討論區尋找致富的方法。 然而,有些看似好得不真實的「財富密碼」,極有可能是詐騙集團將你步步引入陷阱的套路⋯⋯
所以,創造,不是為了要讓世人記憶你,而是為了要強大自己的心智,每一份創造,都將豐富你的存在,你自身的存在——當然,它的附加效應是,也豐富了人間、推進地表物種的變化。
Thumbnail
在職場上的每個工作轉換,都彷彿舞台劇換幕,而最終在幕前的光鮮,終有落幕時刻。會讓人感動的,往往不是那一句台詞或是一個動作,而是舞台劇從頭到尾所營造出讓觀眾跟著同喜同悲、甚至代入自己到角色中的共情。 而在謝幕之時,你想如何被記得呢?
Thumbnail
又到了大五進醫院的季節,想起以前菜菜的自己被VS智商輾壓的恐懼。每次報告就好像赤裸裸地站在台前,所有缺陷在醫師眼中無所遁形。 我花了超過半年的時間才逐漸適應這種氣氛。以下分享三本書伴隨三個步驟,治癒我的玻璃心。