科技與技術系列 - 6: 惡意攻擊的 CSRF 與 XSS

更新 發佈閱讀 5 分鐘

在現代這個網路自由開放且普及的時代,駭客攻擊事件層出不窮,從電腦病毒到 DDoS 攻擊,手段五花八門。今天,我們將介紹兩種針對網頁本身的常見攻擊——CSRF 和 XSS。

跨站請求偽造 (Cross-Site Request Forgery, CSRF)

攻擊方式

CSRF 攻擊的核心在於利用使用者對網站的信任來進行攻擊。

攻擊者會誘使用戶在已登入目標網站的情況下,點擊一個包含惡意請求的超連結或瀏覽某個頁面,藉此利用用戶的身份資訊(如 Cookie 或 Session ID)來執行未經授權的操作。

由於這些請求看起來像是由合法用戶發出,網站無法識別這其實是來自攻擊者的惡意請求。

影響與危害

  1. 未經授權的操作:攻擊者能夠利用 CSRF 攻擊執行使用者未授權的操作,如更改帳戶密碼或發送交易請求等。
  2. 竊取資源:攻擊者可能藉著受害者的身份發送請求,從而轉移或濫用資源,尤其是在涉及金融交易或個人敏感數據的情境中。
  3. 信任劫持:CSRF 攻擊利用的是受害者對網站的信任,而非網站對攻擊者的信任。因此,這類攻擊不易被發現,且後果可能非常嚴重。

防範 CSRF 攻擊

  1. 使用 CSRF Token:每次請求時都需要附帶一個 Token,讓伺服器端確認請求是否合法。
  2. 使用雙重身份驗證(2FA):對於關鍵操作,可以啟用雙重身份驗證以進一步保障安全。
  3. 使用 SameSite Cookie 屬性:SameSite 是一個 HTTP Cookie 屬性,可以防止 Cookie 被跨站點請求帶走。當設為 SameSite=LaxSameSite=Strict 時,瀏覽器會限制第三方網站在發送請求時攜帶該 Cookie。這樣,即便攻擊者試圖發送惡意請求,也無法附帶有效的用戶 Cookie。

跨站腳本攻擊 (Cross-Site Scripting, XSS)

攻擊方式

XSS 攻擊的核心在於利用網站的漏洞進行攻擊。

攻擊者將包含惡意腳本(通常是 JavaScript)的代碼注入到網站中,並讓該網站的用戶在瀏覽時執行這些腳本。這些腳本在用戶端執行,能夠竊取用戶的敏感資訊或執行其他危險操作。

攻擊類型

  1. 反射型 XSS(Reflected XSS):最常見的 XSS 攻擊形式。攻擊者設計一個精心構造的 URL,誘使用戶點擊,並在用戶的瀏覽器中即時執行該惡意腳本。這些腳本不會被永久儲存,而是即時反射並執行。
  2. 存儲型 XSS(Stored XSS):攻擊者將惡意腳本注入目標網站的資料庫、留言板、討論區或其他儲存媒介中,這些腳本會在後續被其他用戶訪問時自動執行。
  3. DOM 型 XSS(DOM-based XSS):這是一種特殊的反射型 XSS,發生在客戶端的 JavaScript 中。攻擊者通過操縱頁面上的 DOM(文檔對象模型)來執行惡意腳本,並依賴網站的客戶端代碼(通常是 JavaScript)來處理用戶輸入。

影響與危害

  1. 竊取用戶資料:攻擊者可以通過 XSS 攻擊竊取用戶的 Cookie、Session ID,甚至帳戶信息,這些數據可以被用來進行身份冒充或其他惡意攻擊。
  2. 網頁篡改:攻擊者可以修改網頁內容,顯示虛假的資訊,進行釣魚攻擊,誘導用戶提供敏感資料。
  3. 執行不當操作:如果攻擊者能在目標用戶的瀏覽器中執行腳本,他們可能會執行不正當操作,如發送偽造請求修改用戶帳戶設置,或執行其他敏感操作。

防範 XSS 攻擊

  1. 輸入驗證與過濾:對前端輸入的所有資料進行驗證與過濾,視為潛在的惡意代碼,防止注入。
  2. 使用內容安全策略(CSP, Content Security Policy):CSP 可以限制頁面載入哪些資源、執行哪些腳本,從而減少 XSS 攻擊的風險。
  3. 使用 HttpOnly 和 Secure 標誌:設定 Cookie 的 HttpOnly 屬性,確保 JavaScript 無法訪問 Cookie,並設定 Secure 標誌,讓 Cookie 僅能通過 HTTPS 協議傳輸,從而降低 XSS 攻擊的風險。

參考資料

  1. https://zh.wikipedia.org/zh-tw/跨站请求伪造
  2. https://tech-blog.cymetrics.io/posts/jo/zerobased-cross-site-request-forgery/
  3. https://zh.wikipedia.org/zh-tw/跨網站指令碼
  4. https://medium.com/hannah-lin/從攻擊自己網站學-xss-cross-site-scripting-原理篇-fec3d1864e42
留言
avatar-img
林柏宇的沙龍
2會員
57內容數
test
林柏宇的沙龍的其他內容
2025/06/15
這篇文章整理了幾個實用的 PHP 開發技巧,包含使用 sprintf() 組合字串、使用 match 簡化判斷式、API 參數模組化、資料庫鎖的使用時機以及注意事項,還有如何避免 SQL 與高併發問題。透過這些技巧,可以有效提升程式碼的可讀性、維護性和效能。
Thumbnail
2025/06/15
這篇文章整理了幾個實用的 PHP 開發技巧,包含使用 sprintf() 組合字串、使用 match 簡化判斷式、API 參數模組化、資料庫鎖的使用時機以及注意事項,還有如何避免 SQL 與高併發問題。透過這些技巧,可以有效提升程式碼的可讀性、維護性和效能。
Thumbnail
2025/06/08
這篇文章整理了 Yii 框架的一些小技巧和筆記,包含如何取得使用者資訊、IP 地址、使用 PHPDoc 撰寫參數註解,以及如何使用 singleton 實現預設的依賴注入和取得 Session 資料等。
Thumbnail
2025/06/08
這篇文章整理了 Yii 框架的一些小技巧和筆記,包含如何取得使用者資訊、IP 地址、使用 PHPDoc 撰寫參數註解,以及如何使用 singleton 實現預設的依賴注入和取得 Session 資料等。
Thumbnail
2025/06/01
本文章介紹了 AWS CodeDeploy 的自動化部署過程,涵蓋從創建部署組、應用程式到設定部署規範文件的步驟。學習如何透過 AWS CLI 和管理控制檯來建構完整的 CICD 流程,提升應用程式的高可用性並實現持續交付。這些內容旨在幫助開發者在 AWS 環境中順利實現自動化部署。
Thumbnail
2025/06/01
本文章介紹了 AWS CodeDeploy 的自動化部署過程,涵蓋從創建部署組、應用程式到設定部署規範文件的步驟。學習如何透過 AWS CLI 和管理控制檯來建構完整的 CICD 流程,提升應用程式的高可用性並實現持續交付。這些內容旨在幫助開發者在 AWS 環境中順利實現自動化部署。
Thumbnail
看更多
你可能也想看
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
當你想升級設備、投放廣告,或是為了雙 11 提前備貨,卻發現現金流卡住時,除了等銀行、跟親友開口,其實還有一個常被忽略、卻很有力的選項。讓房子,成為你事業的贊助商——國峯厝好貸。
Thumbnail
當你想升級設備、投放廣告,或是為了雙 11 提前備貨,卻發現現金流卡住時,除了等銀行、跟親友開口,其實還有一個常被忽略、卻很有力的選項。讓房子,成為你事業的贊助商——國峯厝好貸。
Thumbnail
在本章節中,我們介紹了 CSS 偽元素的基本概念和常見用法,通過一些示例,我們展示了如何使用這些偽元素來樣式化文檔中的特定部分。此外,我們還探討了一些高級用法,如創建自定義引號和實現複雜的圖形效果。這些內容應該能夠幫助你更好地理解和應用 CSS 偽元素。
Thumbnail
在本章節中,我們介紹了 CSS 偽元素的基本概念和常見用法,通過一些示例,我們展示了如何使用這些偽元素來樣式化文檔中的特定部分。此外,我們還探討了一些高級用法,如創建自定義引號和實現複雜的圖形效果。這些內容應該能夠幫助你更好地理解和應用 CSS 偽元素。
Thumbnail
一個小小的程式碼缺陷如何能夠影響全球數百萬用戶?這場由 CrowdStrike 引發的風波告訴我們,在高度互聯的數字世界中,系統的脆弱性可能比我們想像的更加嚴重。這一事件不僅暴露了科技依賴的風險,還引發了人們對網絡安全行業本身可靠性的質疑。當保護者成為了意外的破壞者,我們該如何看待這個行業的未來?
Thumbnail
一個小小的程式碼缺陷如何能夠影響全球數百萬用戶?這場由 CrowdStrike 引發的風波告訴我們,在高度互聯的數字世界中,系統的脆弱性可能比我們想像的更加嚴重。這一事件不僅暴露了科技依賴的風險,還引發了人們對網絡安全行業本身可靠性的質疑。當保護者成為了意外的破壞者,我們該如何看待這個行業的未來?
Thumbnail
在數碼時代,網站安全變得越來越重要。特別是對於使用 WordPress 平臺的網站,保障安全尤為關鍵。本文將介紹一些實用的方法,幫助您保護 WordPress 網站免受各種威脅。為什麼 WordPress 安全至關重要?
Thumbnail
在數碼時代,網站安全變得越來越重要。特別是對於使用 WordPress 平臺的網站,保障安全尤為關鍵。本文將介紹一些實用的方法,幫助您保護 WordPress 網站免受各種威脅。為什麼 WordPress 安全至關重要?
Thumbnail
在今天的數字時代,網路不僅僅是資訊的來源,更是企業發展和個人品牌建立的關鍵所在。然而,無論你是管理自己的網站還是在數位行銷領域工作,若未能掌握搜索引擎優化(SEO)的精髓,你將面臨被淹沒在網路浪潮中的風險。 SEO不僅是提升網站排名的技術,更是通往持久流量和高質量訪客的大門。每一次的搜尋,背後都有
Thumbnail
在今天的數字時代,網路不僅僅是資訊的來源,更是企業發展和個人品牌建立的關鍵所在。然而,無論你是管理自己的網站還是在數位行銷領域工作,若未能掌握搜索引擎優化(SEO)的精髓,你將面臨被淹沒在網路浪潮中的風險。 SEO不僅是提升網站排名的技術,更是通往持久流量和高質量訪客的大門。每一次的搜尋,背後都有
Thumbnail
在API介接中使用x-www-form-urlencoded格式時,可能會遇到一些踩坑的情況,本文分享了作者在這方面遇到的問題和解決方法。
Thumbnail
在API介接中使用x-www-form-urlencoded格式時,可能會遇到一些踩坑的情況,本文分享了作者在這方面遇到的問題和解決方法。
Thumbnail
CSR(Client Side Rendering)是一種將渲染資料的過程交由瀏覽器端處理的方法。
Thumbnail
CSR(Client Side Rendering)是一種將渲染資料的過程交由瀏覽器端處理的方法。
Thumbnail
在開發前後端分離架構時,使用兩個不同網域所遇到跨域請求問題。特別是在POST請求時行為差異大,揭示了「簡單請求」與「預檢請求」的關鍵差異。簡單請求不需預檢,但application/json會觸發預檢請求,需透過特定設定解決。分享這篇文章希望幫助開發者有效處理跨域問題。
Thumbnail
在開發前後端分離架構時,使用兩個不同網域所遇到跨域請求問題。特別是在POST請求時行為差異大,揭示了「簡單請求」與「預檢請求」的關鍵差異。簡單請求不需預檢,但application/json會觸發預檢請求,需透過特定設定解決。分享這篇文章希望幫助開發者有效處理跨域問題。
Thumbnail
隨着網絡攻擊和資料外洩的種類越來越多,防御方案的部署也要與時並進。近年,很多企業開始留意和測試部署使用者和實體行為分析(UEBA)的可行性。 在資訊保安工作上,內部人員被駭或者內部人員出現錯誤的行為導致企業暴露於風險之中......
Thumbnail
隨着網絡攻擊和資料外洩的種類越來越多,防御方案的部署也要與時並進。近年,很多企業開始留意和測試部署使用者和實體行為分析(UEBA)的可行性。 在資訊保安工作上,內部人員被駭或者內部人員出現錯誤的行為導致企業暴露於風險之中......
Thumbnail
您對前端有興趣,對CSS不陌生。CSS新特性前應瞭解基本內容。CSS屬性制定經歷過程,瀏覽器私有前綴及處理,開發者對新特性漸進增強,優雅降級處理,Web標準定義、作用等。
Thumbnail
您對前端有興趣,對CSS不陌生。CSS新特性前應瞭解基本內容。CSS屬性制定經歷過程,瀏覽器私有前綴及處理,開發者對新特性漸進增強,優雅降級處理,Web標準定義、作用等。
Thumbnail
談了許多網路安全的議題,提醒民眾要注意哪些事情,建構哪些網路安全思維,讓我們可以降低踏入詐騙陷阱的風險。但除了民眾本身要不斷學習、提升防詐意識外,是不是還有其他方面的作法呢? 本文就來聊聊在企業端可以做些什麼。 要打造一個密不可破的防護網,企業端就不能夠缺席。 舉幾個例子讓大家知道。
Thumbnail
談了許多網路安全的議題,提醒民眾要注意哪些事情,建構哪些網路安全思維,讓我們可以降低踏入詐騙陷阱的風險。但除了民眾本身要不斷學習、提升防詐意識外,是不是還有其他方面的作法呢? 本文就來聊聊在企業端可以做些什麼。 要打造一個密不可破的防護網,企業端就不能夠缺席。 舉幾個例子讓大家知道。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News