xss绕过字符过滤_在XSS测试中如何绕过字符长度限制(续)

文章讲述了如何在XSS测试中利用Unicode的兼容性来绕过字符长度限制,通过创建特殊的Unicode序列,能够在20个字符内达到23个字符的效果,从而实现跨站脚本攻击。通过注册特定域名并配合DNS重定向,可以执行更复杂的攻击策略,即使在HTTPS环境下也能规避证书不匹配的问题。
摘要由CSDN通过智能技术生成
在以前的NOSEC文章中,曾发布过一个在20个字符限制下进行XSS攻击(引入外界XSS脚本)的文章(https://nosec.org/home/detail/3206.html)。而本文作者对其中原理进行深入了研究,找到了更多相关payload。

跨站脚本(XSS)是在Web渗透测试中发现的最常见的漏洞之一。但是,根据注入点的位置不同,对攻击字符可能会存在各种限制。而在这篇文章中,将展示利用unicode的兼容性来绕过限制,进行XSS攻击。

72226968bfa0b12a603c7a8378a478b0.png

Unicode的兼容性

Unicode定义了两种等价关系,其中之一的anonical equivalence严格保守,所有代码点在打印或显示的时候必须具有相同的外观和含义才能判定成功。

而Compatible equivalence规范较为宽松,代码点可能具有不同的外观,但也会判定一致,例如,ff字符就相当于ff。不同的策略可能导致不同的结果。

20字符长度限制

我们假设XSS注入点存在长度限制,必须使用20个字符以内的payload进行攻击:

虽然以上payload能弹框,但这是无害的。为了证明危害性,我们需要加载一个外部JS文件,以进行更复杂的攻击。

如上外部域名就很完美,整体长度没超过20

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值