免责声明
由于传播、利用本公众号狐狸说安全所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号狐狸说安全及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉,谢谢!
0x01 靶场链接
在线靶场:https://xss.tesla-space.com/
0x02 靶场阶段
Lesson-1
我们可以看到他的传参值点是test,而且传参值可以在页面中回显,下面又说了payload的长度为4,正好和上面的传参值字符长度对应上了
那么我们就可以得出结论了
现在开始进行xss测试,先使用最简单的不带任何绕过方式的js代码进行传参测试
发送进行测试
Lesson-2
我们先传一段正常的字符进行搜索测试
我们先使用第一题的payload进行测试
利用失败,我们打开f12进行分析
我们发现他把传入的js代码直接嵌入到了input标签的value属性中
这个时候我们可以使用闭合input标签的方式进行绕过
闭合成功,成功打入js代码
Lesson-3
输入1先测试一下
我们使用最开始的payload进行测试
显然是不行的,我们打开f12进行分析
我们看到他还是input标签,我们使用第二关的payload进行测试
很显然行不通的
这个时候想到了伪协议的方式进行绕过测试
我们可以把点击事件嵌入到了input当中,但是后面多出来了一个 " ,我们要把它也给闭合掉
很显然还是不行,经过测试我们的一些符号被过滤掉了,但是单引号没有被注释掉,那么我们使用单引号结合注释符号,直接把后面的东西给注释掉,我们学过前端的都知道,在html中的单行注释是 // 我们就直接利用单行注释的方法注释掉后面的内容
js代码打入成功
Lesson-4
发现单引号被过滤掉了,我们再试试双引号闭合进行测试
发现直接打入成功
Lesson-5
发现不行,我们打开f12进行分析
我们发现onclick被转义了,那么就换一个事件来进行测试吧
我们首先闭合value的值然后嵌入一个伪协议标签
我们可以看到,在输入框后面插入了一个ifreme,当我们去点击这个图片的时候就会