6、xss-labs之level8

1、测试分析

传入123查看页面源码,发现传入的值传给了value和a标签的href,并且对特殊字符<>" ' 都进行了HTML实体化,对于大小写进行了转化,过滤掉了src、data、onfocus、href、script、"(双引号)

因为页面源码中有一个<a href=" ">,所以我们可以通过传入JavaScript伪协议:javascript:alert(1),进行绕过,但对script有过滤,又因为href带有隐藏属性:自动Unicode解码

2、构造payload

所以这就是不在value属性进行闭合,所以对javascript:alert(1)进行Unicode编码

HTML字符实体转换,网页字符实体编码

javascript:alert(1)转化后

&#x6A;&#x61;&#x76;&#x61;&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;&#x3A;&#x61;&#x6C;&#x65;&#x72;&#x74;&#x28;&#x31;&#x29;

3、反思:

之前进入了死循环,一直在想为什么不能在value,用同样编码的方式传入payload闭合绕过,而在a标签href上使用编码方式传入编码就可以

原因:

1、href自带隐藏属性可以进行Unicode解码

2、js的伪协议可以让浏览器自动渲染js代码

4、总结:

1、之前理解HTML实体化就Unicode编码

2、<a href=" ">中自带隐藏属性会进行Unicode解码

3、学会新绕过对payload进行编码绕过方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值