xss-labs靶场:level3攻略

恭喜大家成功来到了靶场的第三关!加油!

在第三关中,经过测试,发现并没有对用户输入的参数进行过滤,于是我们首先尝试输入第二关的payload来看看效果:

令我们失望的是,我们的代码并没有被成功执行,让我们来查看一下源代码:

<form action="level3.php" method="GET">
<input name="keyword" value="&quot;><script>alert(&quot;xxss&quot;)</script><&quot;">
<input type="submit" name="submit" value="搜索">
</form>

我们发现,代码并没有成功被执行的原因是<input>标签并没有被成功闭合,因为我们输入的引号(")和尖括号(<>)都被被实体化了,我们再输入单引号('),发现并没有被实体化,遇到这种情况,我们可以采用html的一些事件来规避尖括号等的使用,我们可以采用onblur事件来构造payload

onblur事件是html中自带的一个事件,主要用于脱离输入框时的事件执行,关于onblur的更多拓展内容可以访问该链接:onblur 事件 | 菜鸟教程

言归正传,我们利用onblur事件构造如下payload:

            'οnblur='alert(/xss/)'"

同样的,我们要注意引号的闭合!

提交后发现页面并没有警告框弹出,我们只需要点击输入框再点击输入框外的位置使其退出输入模式,便可以成功执行代码,效果如图:

到这里我们就成功通过第三关了!
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值