xss-labs靶场实战前六关详解

目录

level 1

level 2

level 3

level 4

level 5

level 6


level 1


查看网站源码,可以发现get传参name的值test插入了html里头,还回显了payload的长度

直接上payload,插入一段js代码,get传参

url?name=<script>alert()</script>

当然也能传其他的东西过掉第一关,建议参考XSS常见的触发标签 

我们再看一下这关的源码

没有啥过滤的,很普通,单纯插入即可

本关小结: JS弹窗函数alert()


level 2


查看网站源码 

第一个test可以跟上次一样直接插入js即可,我们先试试看

<script>alert()</script>

没成功,看一下源码

第一个test进行了html实体转义,但是第二个没有,我们只需要闭合掉双引号即可,构造payload

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

再看一下源码

果然进行了html实体转化 

本关小结:闭合绕过 


level 3


先输入123456,然后查看网站源码

相对于上一关,这里是单引号闭合,试一下看看

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

没想到符号也被实体化了,我们看一下源码

果然被实体化了,但是htmlspecialchars函数只针对<>大于小于号进行html实体化,我们还可以利用其他方法进行xss注入,这里我们可以利用onfocus事件绕过

先简单介绍一下onfocus事件

onfocus事件在元素获得焦点时触发,最常与 <input>、<select> 和 <a> 标签一起使用,以上面图片的html标签<input>为例,<input>标签是有输入框的,简单来说,onfocus事件就是当输入框被点击的时候,就会触发myFunction()函数,然后我们再配合javascript伪协议来执行javascript代码

所以我们可以利用这个事件来绕过<>号的过滤已达到执行js的目的,构造payload

' onfocus=javascript:alert() '


然后再点击输入框触发onfocus事件即可

本关小结 :onfocus可以绕过html实体化(即<>号的过滤)


level 4


查看一下网站源码

这里是双引号闭合,<input>标签,所以我们还能继续利用onfocus事件,构建payload

" onfocus=javascript:alert() "


看一下这关的源码

这里只是把<>号给删掉了,没多做过滤

本关小结:无 


level 5


这关感觉常规的方法过不去,我们先试试看

" onfocus=javascript:alert() "


果然,这里on被替换成了o_n,先看一下这关的源码

过滤了js的标签还有onfocus事件,虽然str_replace不区分大小写,但是有小写字母转化函数,所以就不能用大小写法来绕过过滤了,只能新找一个方法进行xss注入,这里我们用a href标签法

href属性的意思是 当标签<a>被点击的时候,就会触发执行转跳,上面是转跳到一个网站,我们还可以触发执行一段js代码

添加一个标签得闭合前面的标签,构建payload

"> <a href=javascript:alert()>xxx</a> <"


之后点击xxx,触发a标签href属性即可

本关小结:可以插入标签(如<a>标签的href属性)达到js执行的效果,前提是闭合号<"">没失效


level 6


这感觉很悬,不知道过滤了啥,输入关键字测试看看

onfocus <script> <a href=javascript:alert()>


过滤了好多,看看大小写能不能绕过

OnFocus <sCriPt> <a hReF=javascript:alert()>


发现大小写没有被过滤掉,这题能利用大小写进行绕过,所以我们可以用下面的方法,构造payload

"> <sCript>alert()</sCript> <"
" Onfocus=javascript:alert() "
"> <a hRef=javascript:alert()>x</a> <"

完事查看一下这关的源码

这关甚至还过滤掉了data,但是没有添加小写转化函数 ,导致能用大写绕过 

本关小结:大小写法绕过str_replace()函数 

  • 23
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值