iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 3
1
Security

資訊安全的美味雜炊系列 第 3

[Day3] - XSS(Cross site scripting) 介紹

  • 分享至 

  • xImage
  •  

Day3 - XSS(Cross site scripting) 介紹

前言

  • 這應該算是我進入到web資訊安全的前幾個接觸到的議題
  • 在2017年的OWASP TOP-10排名第七,雖然很像每年都在往下掉,但對於web來說還是有一定份量的危害
  • 網路上對於這個議題百家爭鳴,這邊就做個整理再帶些簡單的實例

題外話: 本系老師強調不要念"差",不然跟國外的人溝通會不知道你在講甚麼XD

漏洞成因

  • 在昨天有提到javascript這個在前端上不可或缺的語言,不過就是因為他的方便性,也常常變成駭客拿來利用的工具
  • 駭客可能會在你瀏覽的網頁中,允許惡意的使用插入惡意的javascript,達到某種目的,簡單的可能只會瘋狂地跳alert視窗,嚴重的可能竊取別人的帳戶資訊,接下來就一一介紹XSS的各種型態

各種類型

以下筆者參考許多資料,將內容盡量轉換成淺顯易懂的圖,並盡量使用開源的圖片or Emoji
美術天分以及修圖技術不是很好,敬請見諒

反射型(Reflected)

  • 讓使用者發出惡意的requests(可以是網址, 奇怪的按鈕, 表單form...),後端如果沒有過濾,將結果傳給給前端,瀏覽器就有可能執行這段惡意的程式碼
  • 需要社交工程,不能做主動攻擊
  • 示意圖

DOM型(Dom-based)

  • DOM 全名為Document Object Model,能將HTML中的各個標籤形成一個樹狀結構

  • 發生原因

    • 在使用DOM的API的時候,使用innerHTML,就可能將script插入到網頁當中
    • 觸發跟反射型類似,只差在反射型把資料傳給後端,但DOM不會
  • 示意圖

儲存型(Stored)

  • 會將惡意語法儲存到伺服器或資料庫當中
  • 通常會發生在論壇文章、留言板...等
  • 當使用者瀏覽時,就可能讀取到資料庫中的惡意語法,瀏覽器進而去執行
  • 示意圖

XSS攻擊偵測

提供一些XSS練習的網站

  • XSS-Game

    • Google推出的XSS練習靶場,總計有六個關卡,每一關的目的是想辦法讓頁面跳出alert視窗
    • 卡關的時候有提示,不過通常最後一個提示就近乎把答案講出來,建議真的想不到在看提示
    • 下方有提供每個關卡的程式碼,可以體驗白箱的感覺
  • alert(1)-to-win

    • 這個筆者自己也沒有做完,題目蠻多的,要想辦法alert(1)
    • 很貼心的,他會把嘗試的payload即時顯示在下方,讓想挑戰的可以發現自己哪裡payload構造錯誤
    • 有排名機制,用最短的payload構造出來的,能排在越前面
  • xss-Game模改

  • XSS Challenges


上一篇
[Day2] - 萬事就從Web開始吧
下一篇
[Day4] - XSS(Cross site scripting) 簡單範例
系列文
資訊安全的美味雜炊30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言