XSS靶场通关(详解)

在打靶场之前可以先了解一下XSS 

浅谈XSS-CSDN博客

目录

浅谈XSS-CSDN博客

level1

level 2 

level 3

level 4

level 5

level 6

level 7

level 8

level 9

level 10

level 11

level 12

level 13

level 14

level 15

level 16

level 17

level 18

level 19  20


level1

直接输入

<script>alert()</script>

level 2 

观察源码可知,需要实体化,则输入

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

level 3

可以看到,被实体化了,利用标签事件。然后查看靶场源码可知(到搭建好的靶场的文件里找),发现

此时需采用htmlspecialchars()绕过方法,默认是不编码单引号的,所以用单引号闭合,以下两个都可以(但不只这两种方法)

'onclick='alert()''
'onfocus='alert()''

输入之后点击搜索之后再点击一下搜索框即可

level 4

与第三题类似,将单引号改为双引号即可

level 5

观察源码可知on被过滤。

事件关键字被过滤,利用其他标签,比如a标签

"><a href='javascript:alert(123)'>

然后点击搜索并点击出现的a标签即可

level 6

可知仍然过滤了on,

a标签中的href也被过滤,此时尝试大小写绕过,输入

"><sCript>alert()</sCRipt><"

即可通关

level 7

观察可知将script、on等字母转变为空格,此时可以双写绕过,输入

"><scscriptript>alert()</scriscriptpt><"

答案不止一种,用a标签等双写绕过也可

level 8

这一关发现加其他标签,双写大写绕过都不行了,此时可以尝试编码绕过

Unicode/ASCII转换

输入javascript:alert(123)编码转换(其他的也可以),得

&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#49;&#50;&#51;&#41;

之后点击友情链接即可通关

level 9

仍然采用编码绕过(内容检测)

试着输入一个链接(https://或者http://类型),发现http://类型可以

可以看到此处有显示,则对http://类型链接进行编码

输入

javascript:alert(123)//http://

此处对//http://前的内容进行编码,不能对http://编码,不然通关不了

level 10

第十关是在上方网址栏输入,发现前面方法好像不太行了,观察页面源码发现

有三个隐藏的输入框

在网址栏尝试赋值,发现第三个输出

可以利用这个来通关靶场

在kayword=后面输入a&t_sort='"onclick='alert(123)'发现仍然没有输出,试着将type改变

则输入

a&t_sort='" type='text' onclick='alert(123)'

点击弹出的输入框即可

level 11

与第十关类似,利用refer注入。

试着给每个赋值,仍然是t_short被赋值,按照第十关输入后发现没有闭合掉value属性,说明单双引号被htmlspecialchars处理

观察源码可知t_ref(看到这个单词有点像referer请求)是由第十关直接跳转过来的

这时候用一下抓包,回到第十关在跳转到第十一关的时候抓一下包

将图示部分改变一下,改成和第十关一样的payload,然后放行,此时第十一关出现一个搜索框,点击此框即可通关

level 12

观察源码可知和第十一关有点类似,抓包一下,是user-agent请求头

将图示部分改为和第十关一样的payload即可

level 13

和上面类似,抓一下包

将右侧框柱地方改为第十关payload即可

level 14

这关题有错误,就直接pass了

level 15

观察源码可知

出现这个,查阅之后可知此指令用于包含外部的HTML文件

由此可以有一个思路就是把已通关的XSS靶场网址带入其中

将第一关网址带入发现没什么反应,有可能是过滤掉了script,此时更改标签,在第一关位置输入

<img src=1 onerror=alert(123)>

将通关后的第一关网址复制到第十五关网址(输入?src='')单引号里面

即可通关

level 16

将第十五关所用代码再次输入网址查看得

<img src=1 onerror=alert(123)>

被实体编码了

&nbst是空格(这个可以去查看一下实体编码表),说明空格都被处理了,但是单双引号那些没被处理

这时候可以把空格换成回车键(这是不能在网址上直接敲的),需要将回车键编码

URL编码/解码

%0A

将上述代码的空格键全部替换为编码后的回车键即可

level 17

第十七关采用了一个embed标签,这个现在不怎么用了,了解一下就行

输入

'onmouseover=alert(123)

level 18

和第十七关一样

level 19  20

这两关涉及到flash触发的XSS漏洞,现在flash停用了,所以不做了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值