XSS-lab2

解题过程

1、第六关,先输入测试 payload:'';!--"xss=&{()}。然后先尝试闭合前面部分 _____ 再输入我们的 JS 代码:"><script>alert(0)</script>也被过滤,加入新的标签<a>, 发现也被过滤,说明这关主要是对我们的标签进行过滤,使用比较常见的大小写绕过成功:"><Script>alert(0)</Script>

图片.png

图片.png

图片.png

图片.png

2、第七关,跟上一关没有太大的区别,只是这一关把大小写也过滤了,然后使用简单的双写绕过也能成功。

payload:"><Scrscriptipt>alert(0)</Scrscriptipt>

图片.png

图片.png

3、第八关,我们发现 keyword 参数传到了两个地方,上面的标签进行了双引号的转义,下面的标签对标签进行了过滤,因为我们可以点击友情链接,所以我们将我们的 JS 代码进行 Unicode 编码:javascript:alert(0), 将其传入到 href 中,点击友情链接成功。

图片.png

图片.png

图片.png

图片.png

4、第九关,我们将第八关的 payload 传入进去,点击链接没反应,查看源代码,提示我们的链接不合法,可能进行了传入内容的识别,打开后端代码我们发现使用了 strpos 函数进行识别是否含有http://,但是这个函数只会查找它的位置,不会在乎整体内容,所以我们将 http://, 夹带在我们的 payload 中。

payload:&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#48;&#41;//http://

图片.png

图片.png

5、第十关,没有输入的地方,我们打开源代码查看,发现前端页面隐藏了三个。我们可以通过 F12 查看修改前端代码,显示出来。也可以直接传入数据到 3 个变量当中。给这 3 个变量分别传入 1,2,3 查看,发现没变化,再看看源代码,只有 t_sort 的参数能够传进来,那我们就构造我们的 JS 代码到 t_sort 中,先输入测试的 payload,发现过滤了 <>,我们利用事件 onclick 构造 payload:"onmouseover="alert(0), 成功, 类型也记得需要修改。

图片.png

图片.png

图片.png

图片.png

图片.png