1、无障碍
2、注意要找好回显点,回显点可能有几个,要找对了
3、有时会遇到htmlspecialchars函数,用伪协议或on事件等按情况去绕过
过滤on、script
4、on事件绕过
5、a标签的href属性伪协议绕过
6、大小写绕过
过滤了on、script、href
7、双写绕过
过滤script、on、href
8、编码绕过
要点:利用unicode编码绕过
unicode编码是4位16进制的数组成的
在html上以&#x加上unicode数组成
例如:r的unicode代码为0072
在html上用Unicode来表示即为r
所以该关卡的payload为:
javascript:alert(1)
9、代码审计加编码绕过
该处需要代码分析,得知输入中得带有http://才可以
在上面的限制上再加上这点的限制,所以payload为
javascr:alert('http://')
10、 改输入框类型
需要查看源代码才知道有个隐藏的输入框,需要改变该输入框将其改为test类型再配合onclick事件来触发
payload为:
" type="text" onclick="alert(1)"
11、改refer
需要用burpsuit抓包,在第10关跳转到11关时将refer改为下面的payload
" type="text" onclick="alert(1)"
12、 改user_agent
跟第11关类似,这个改的是user_agent
13、改cookie
跟第11关类似,这个改的是cookie
14、跳过
15、文件包含
查看源代码,发现注入点为src,对src输入level1.png,发现把图片以二进制形式包含进来了,说明存在文件包含漏洞,那么尝试把lever1.php文件包含进来,发现成功,接着把带有xss漏洞的lever1.php的文件包含进去,通过该关卡
payload为:
src='level1.php?name=<img src=s onerror=alert(0)>'
16、url编码
查看源码,该关卡过滤了script、/、空格
主要问题是过滤了空格,这里用%0a来代替空格,%0a在url上表示空格的
payload为
1、keyword=<a%0Aonclick='alert(1)'%0A>a</a>
2、keyword=<svg%0Aonload='alert(1)'%0A>
3、keyword=<img%0Asrc='a'%0Aonerror='alert(1)'>
17、跳过