XSS测试之绕过的根本逻辑

        上一节讲了XSS的闭合,有些文章会将闭合同绕过混淆在一起讲。而在我看来,闭合是满足浏览器对脚本执行的基本语法要求,是基础;而绕过是在程序设有不太健全的安全措施下,所使用突破手段。 那么这个突破手段应该怎样进行呢?

       常规脚本注入无果后,首先要根据现象猜测程序所使用的防御措施,然后判断该防御措施是否可能存在缺陷,猜测可能存在再进行注入尝试。

        例如:

        <input type="text" name="gg" value="注入点">

        注入脚本 "οnclick="alert(0) 后,返回页面变成如下情况:

        <input type="text" name="gg" value="" ="(0)">

        很明显这里用的关键字过滤,这种防御方式有好几个坑。

        第一是否能防住大小写绕过,即 "oNcLick="alERt(0)

        第二是否能防住双拼绕过,即 "onconclicklick="alealertrt(0)

        上面两个都还好,稍微有点经验的开发都会自己把坑填上,而第三个才是关键字过滤最深的坑,即关键字黑名单不全的问题,我们常用来测试的js事件有onchange、onclick、onmouseover、onmouseout、onkeydown、onload,而这并不是全部,藏在角落里很

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值