iT邦幫忙

2021 iThome 鐵人賽

DAY 16
0
Security

【CTF衝衝衝 - Web篇】系列 第 16

【第十六天 - XSS】

Q1. 什麼是 XSS?

  • 跨網站指令碼(Cross-Site Scripting,通常簡稱為XSS)
  • 駭客在瀏覽器插入惡意 Javascript,一旦受害者的瀏覽器解析並執行,可能導致受害者cookie 被盜取、網頁導向惡意網站等
  • 簡單來說,就是讓使用者(駭客)「 輸入的資料」 變成「 程式的一部分 」,藉此攻擊其他的使用者

Q2. XSS 手法?

  • 常見的 XSS 手法分為三種類型: (危害等級: 儲存型 > 反射型 > DOM 型)
    • 反射型 XSS ( Reflected )
      • 若後端程式會從 GET 參數取得資料,並將內容顯示在前端,如此一來便可在 GET 參數中植入 javascript。
      • e.g. 將攻擊的 script 藏在URL中,網頁透過 GET 參數傳遞
    • 儲存型 XSS ( Stored )
      • 若後端程式會儲存前端的輸入,並在日後瀏覽時顯示,如此一來駭客便可以輸入 javascript,使得其他使用者瀏覽時遭受攻擊。
      • e.g. 將攻擊的 script 透過留言板功能,儲存於 database 中,下一次受害者開啟此頁面,注入惡意 script 的留言就會執行
    • DOM 型 XSS
      • 前二型通常發生在網頁的後端程式,然而網頁前端 Javascript 也可能動態變更頁面上的內容,此類 XSS 便稱為 DOM 型。
      • e.g. 在 input 處輸入 DOM 語法,只能在前端發生,所以除非駭客在你電腦前幫受害者輸入,否則無法讓受害者輸入惡意程式,所以通常 DOM 型 XSS 要搭配反射型與儲存型製造出內容,讓 Javascript 動態產生 DOM 才能達成

參考資料:https://medium.com/starbugs/身為-web-工程師-你一定要知道的幾個-web-資訊安全議題-29b8a4af6e13

參考資料:https://yakimhsu.com/project/project_w12_Info_Security-XSS_SQL.html

參考資料:https://forum.gamer.com.tw/Co.php?bsn=60292&sn=11267

Q3. XSS 的 script 類型?

在以下地方都可以插入 javascript 語法:

Q4. 檢查是否有 XSS 漏洞?

  • 在網頁的 GET 處輸入 script 測試
  • 在網頁留言板/搜尋處,輸入 script

參考資料:https://ithelp.ithome.com.tw/articles/10243506


上一篇
【第十五天 - SSRF】
下一篇
【第十七天 - 文件讀取漏洞】
系列文
【CTF衝衝衝 - Web篇】30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言