Level 1:
观察url中的?name参数,向网站提交数据,然后返回到页面上。
<script>alert(1)</script>
Level 2:
第二关是可以在输入框中输入一个数据提交给服务器,然后提交的数据是会被显示到页面上的。此时再使用第一关的payload已经是不行了。看一下源码:
在这里,提交的scirpt被当作页面的内容和value的值处理了,因此没有形成html结构被浏览器执行。尝试一下闭合value,然后构造一个script标签进去。在输入框中输入以下代码:
"><script>alert(1)</script>
点击搜索,成功通关:
Level 3:
先输入一个<script>alert(1)</script>
看看效果,
通过源码可以看到,输入的<被html实体代替了,因此不会被当作页面结构处理。但是可以通过闭合的方式构造点击事件。
Level 4:
输入<script>alert('1')</script>
测试:
这里发现输入框中的内容与我们输入内容不一样,查看网页源代码:
发现符号被过滤了,输入下语句:
然后在框中输入数据,闯关成功!