XSS Challenges 練習(1-10)


這幾天對XSS Challenges平台進行了練習,網上也有一些相應的解答博客,但是寫得都差不多,我覺得可以試一下從怎么做這種題的角度出發去思考問題。

第一題:http://xss-quiz.int21h.jp/

大概意思就是彈窗內容為(document.domain);就可以通關。直接使用<script>alert(document.domain);</script>實驗一下

 

可以看到已經通過,第一關基本就是送分題

 

接下來進入第二關 http://xss-quiz.int21h.jp/stage2.php?sid=106cdb0a46450efb744850a579323ac9103d907c

首先輸入最簡單的XSS代碼實驗一下,發現並沒有通關,然后查看源代碼

可以看到XSS所在的位置在input語句里面,閉合之前的代碼"><script>alert(document.domain);</script><  就可以通關

這道題的考點就是閉合原來的語句就是:關閉當前標簽然后添加腳本

 

第三關 http://xss-quiz.int21h.jp/stage-3.php?sid=d830eb35fde6abc802cb930e5ba1b2adaaf6680d

直接使用<script>alert(document.domain)</script>試驗一下,發現沒有成功,輸入框位置使用的name="p1"代替

用burp抓個包看一下

可以看到p1的內容,輸入的字符被轉義了,修改p1為<script>alert(document.domain)</script>嘗試繞過試過一下

 

發現並不行,但p1后面還有一個p2,修改p2的內容為<script>alert(document.domain);</script>實驗一下 

這次可以通過了,這道題p1輸入的內容被轉義了,但是p2的內容沒有做校驗,可以抓包修改數據包進行攻擊

 

第四題 http://xss-quiz.int21h.jp/stage_4.php?sid=9fb2ab3ae196c1fb05d9157d3d5f6c91b2b4398c

首先還是直接輸入<script>alert(document.domain);</script>看一下,發現沒有成功

查看源代碼,發現這道題和剛剛第三題的情況很相似,抓個包在看看

數據包中數據,也是大同小異,但這次多了一個p3比較可疑,但還是得一步一步來,幾次嘗試,發現修改p1參數被轉義了,p2的值修改之后又會恢復成Japan,都是沒有效果。然后嘗試修改p3的值

提交之后發現並沒有什么用

這時查看一下源代碼

可以看到p3修改的值沒有轉義,可以進一步利用,但是能不能執行還不知道,因為此時我們需要將標簽閉合

我是直接在這里修改的看着沒啥問題之后,再抓包修改p3的值嘗試一下

這樣第四關就過了,這一關看起來和第三關形式比較像,然后我先按照第三關的模式試了一下,發現p1被轉義,p2修改不了,p3可以修改又沒有被轉義,查看源代碼之后結合第二關的思路開始進行的嘗試。

 

第五關 http://xss-quiz.int21h.jp/stage--5.php?sid=2d4972900f3da3e4e8dd3bb442c5e59402ede268

首先還是直接輸入<script>alert(document.domain)</script>嘗試一下,發現沒有成功,然后查看一波源代碼進行分析

可以看到輸入的內容並沒有被轉義,所以說還是有機會的,但是添加了檢驗maxlength="15",這時我首先想到的是使用burp進行繞過。水平有限,所以我先利用源代碼編輯一下繞過的語句,看着沒問題了直接貼到burp就行了

發現可以通過了,這一關還是挺簡單的,考點應該就是繞過校驗,還有閉合標簽

 

第六題 http://xss-quiz.int21h.jp/stage-no6.php?sid=60b74c922558e644330a8769788ef25dae80d8e0

首先輸入<script>alert(document.domain)</script>嘗試一下,然后查看一下源代碼

 然后我決定先閉合標簽試一下

然后和之前比較了一下,發現"<" ,">"是這兩個標簽被轉義了,嘗試繞過試一下

沒辦法繞過,不能使用<>但是可以構造" onmouseover="alert(document.domain)攻擊

 

第七題 http://xss-quiz.int21h.jp/stage07.php?sid=c702ac5f967df2831c3920c1aa3100af0b3e5aa8

還是不能成功,然后試了一下先閉合標簽繞過也沒啥用,使用" onmouseover="alert(document.domain)時,發現輸入的信息被截斷了

 這道題有點懵,查看了一波網上的教程,說是"被過濾了,然后我試了一下

實驗了一下覺得應該是 "空格 之后的內容被截斷了,這道題可以使用可以使用test onmouseover=alert(document.domain)  空格符分割進行

 

第八題 http://xss-quiz.int21h.jp/stage008.php?sid=b23793aaeaad16b5faa949a246a1316e9cf24917

第八題主要考察的是在a標簽的使用。偽協議不同於因特網上所真實存在的協議,如http://,https://,ftp://,

而是為關聯應用程序而使用的.如:tencent://(關聯QQ),data:(用base64編碼來在瀏覽器端輸出二進制文件),還有就是javascript:

可以在Chrome瀏覽器輸入"javascript:alert("XSS");"實驗一下,實際上是把javascript:后面的代碼當JavaScript來執行,並將結果值返回給當前頁面。

然后回到這道題,題目是輸入一個URL,直接提交javascript:alert(document.domain),點擊下面的鏈接就可以過關了

 

第九題 http://xss-quiz.int21h.jp/stage_09.php?sid=7e3613202c0e7cc4ed129d4c60b98dbe887aa456

 這個好像得用IE 7 環境加上UTF7編碼才行,有時間搭起環境再試一下吧,暫時先跳過了

 

第十題 http://xss-quiz.int21h.jp/stage00010.php?sid=b86e436416bd0ed72ba8e07ffd237471e7bd006d

輸入<script>alert(document.domain);</script>,確定,發現domain,被過濾了

這個時候用雙寫domain、或者大小寫都可以繞過,但是大小寫不符合這道題的要求,所以使用雙寫再加上閉合標簽就可以通過

"><script>alert(document.dodomainmain);</script><

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM