xss-labs靶场1~7详解

在这里插入图片描述

level-1

分析

在这里插入图片描述
首先,先点击F12按钮打开网页源码

发现URL的name值可以随意输入,所以直接上script方法。

payload:

http://test/level1.php?name=a<script>alert(1)</script>

#也可以输入其他的标签,比如img、svg等

执行

在这里插入图片描述

level2

分析

先输入a来试试
在这里插入图片描述

查看网页源码,发现输入的数据存到了input标签的value属性里面,所以直接闭合该标签来通关。

payload:

a"><script>alert(1)</script>

执行

在这里插入图片描述

level3

分析

先输入<script>alert(1)</script>试试
查看网页源码,和第二关类似,先闭合input标签再弹窗,但是输入数据后,发现后面多了">,该方法不行。
在这里插入图片描述

再到调试器里面看一下源码,发现对我们的js进行了实体编码,所以代码没生效,并且有单引号出
现,所以考虑使用单引号闭合,然后利用input中的点击触发事件来通关。

在这里插入图片描述
payload:

'onclick='alert(1)
弹窗需要再次点击输入框

执行

在这里插入图片描述

level4

分析

先输入<script>alert(1)</script>来试试

在这里插入图片描述
发现script的<、>被过滤了,可以再次使用上一关的答案进行通关。

payload:

"onclick="alert(1)

执行

在这里插入图片描述

level5

分析

先输入<script>alert(1)</script>来试试

在这里插入图片描述
发现script标签被_分隔了,
再尝试双引号闭合,使用点击触发事件,结果发现它把onclick也过滤了,
在这里插入图片描述
再尝试使用大写
在这里插入图片描述大写也被过滤了,现在试一下a标签,发现a标签可以。

payload:

"><a href="javascript:alert(1)">aa</a>
#弹窗需要点击aa触发

执行

在这里插入图片描述

level6

分析

老样子,先输入<script>alert(1)</script>来试试
在这里插入图片描述
发现和上一关一样,script被_分隔了,现在尝试使用点击触发事件onclick
在这里插入图片描述发现onclick也被过滤了。再试一下大写,发现可以弹窗。

payload:

"ONCLICK="alert(1)

执行

在这里插入图片描述

level7

分析

老样子,先输入<script>alert(1)</script>来试试
在这里插入图片描述
过滤了script,触发不了弹窗

再看看源码
在这里插入图片描述
对参数值转换成了小写,过滤了script,on,src,data,herf标签,但是它只执行了一次 所以可以双写绕过

尝试双写关键字

payload:

1"><ScscriptRipt>alert(1)</ScscriptRipt>

执行

在这里插入图片描述


版权声明:本文为weixin_53002381原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。