天天看點

XSS訓練網站XSS Challenges所有題目解(中篇)

上篇連結:我是上篇

下篇連結:我是下篇------待續

目錄

      • Stage #6 html事件中的XSS
      • Stage #7 清單中的XSS
      • Stage #8 javascript中的XSS
      • Stage #9 UTF-7中的XSS
      • Stage #10 有過濾的XSS(1)
        • 解法一
        • 解法二
      • Stage #11 有過濾的XSS(2)
      • Stage #12 有過濾的XSS(3)

Stage #6 html事件中的XSS

用事件即可解決,舉個例:下面三種都可

onlick事件

onmouseover事件

unload事件

" οnclick="alert(document.domain)
" οnclick="alert(document.domain)"
" οnmοuseοver="alert(document.domain)
" οnmοuseοver="alert(document.domain)"
//其實後面不用閉合,但閉合了也沒關系,網站會自動加個=的閉合構成
           

Stage #7 清單中的XSS

輸入123,正常

輸入123 234
-->value="123" 234=""

再輸入123 234 345
-->value="123" 234="" 345=""

再輸入123 234=345
-->value="123" 234="345"
           

這樣就清楚了,構造payload

Stage #8 javascript中的XSS

F12後随意輸入幾個字元:111222,發現是超連結

構造普通的XSS發現行不通,于是構造一下内容:

Stage #9 UTF-7中的XSS

沒有所需的環境…

用的取巧的payload

在F12後選取hint,在id=“hide”後面加上如下代碼即可

Stage #10 有過濾的XSS(1)

老樣子,輸入一下語句測試

F12定位代碼後發現document沒了,考慮是過濾

解法一

想到雙寫domain試一試,結果成功了

解法二

使用base64解碼繞過過濾

把alert(document.domain)進行base64編碼後(不限于base64)

使用atob函數進行base64解碼即可

Stage #11 有過濾的XSS(2)

此題提示為

就是過濾了script,過濾了on開頭的事件,過濾了style

Stage #12 有過濾的XSS(3)

因為雙引号空格等都被過濾,是以

采用兩個反引号`` 進行替代雙引号

但是隻有IE浏覽器才會将反引号識别為",

是以用IE浏覽器打開輸入以下代碼即可

`` onmouseover=alert(document.domain);