November 21, 2023

Viiisit [Information Security] - Cross-site scripting (XSS) Attack!

#infosec

What is Cross-site scripting (XSS) ?

跨站腳本攻擊(Cross-Site Scripting,簡稱XSS)是一種網站應用程序中常見的安全漏洞,
允許攻擊者將惡意代碼注入到網頁上,並在用戶瀏覽頁面時執行這些程式碼。
XSS 攻擊的目標是盜取用戶的敏感資訊、繞過訪問控制或者破壞網站的正常運作。

有三種主要的 XSS 攻擊類型:

  1. 儲存型(Stored XSS): 攻擊者將惡意代碼存儲在網站上,當其他用戶訪問包含這些惡意代碼的頁面時,就會觸發攻擊。

  2. 反射型(Reflected XSS): 攻擊者通常通過傳遞特殊的 URL 參數,將惡意代碼注入到頁面上,頁面在用戶訪問時即時執行該代碼。

  3. DOM-based XSS: 攻擊者利用 DOM(Document Object Model)的漏洞,在客戶端修改網頁的 DOM 結構,進而執行惡意代碼。

假設有一個簡單的搜尋功能,URL 看起來像這樣:

1
https://example.com/search?q=<user_input>

使用者可以在 <user_input> 的位置輸入搜尋內容。
如果這個輸入沒有得到正確的過濾或處理,攻擊者可以輸入以下內容:

1
https://example.com/search?q=<script>alert('XSS')</script>

當其他用戶訪問這個 URL 時,頁面可能會執行包含在 <script> 標籤中的 JavaScript 程式碼,
這裡舉例一個簡單的 alert,但攻擊者也可以進一步執行更危險的操作,如竊取用戶 cookie、模擬用戶操作等。

防範XSS攻擊的方法包括:


參考資料:
零基礎資安系列(二)-認識 XSS(Cross-Site Scripting)