前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >字符过滤下的攻击:标签事件绕过

字符过滤下的攻击:标签事件绕过

作者头像
张树臣
发布2018-12-24 15:26:16
1K0
发布2018-12-24 15:26:16
举报

1、简单的字符过滤,可以通过双写绕过,但是稍微改写一下preg_replace()里的参数,就可以轻松让双写绕过变得不可能;

2、以下为实际场景实验,打开靶机页面:

3、我们看一下过滤代码,这里使用了更严格的规则——通过正则表达式,过滤了script标签:

$name = preg_replace( '/<(.*)s(.*)c(.*)r(.*)i(.*)p(.*)t/i', '', $_GET[ 'name' ] );

4、在What's your name? 输入框内输入:

5、提交后,浏览器没有弹出我们预期的弹窗,显示alert内容,相反直接把清洗后的内容“'>>”作为name显示了出来,说明简单的双写绕过手段此时已经无效:

6、下面试一下标签事件绕过方法,在What's your name? 输入框内输入:

(哪有什么地址叫hahaha,onError铁定被触发)

7、提交后,浏览器弹出我们预期的弹窗,显示alert内容:“img标签事件绕过”:

8、在What's your name? 输入框内输入

9、提交后,浏览器没有弹出我们预期的弹窗,有没有搞错,:(;

10、点一下屏幕试试,:)(说好不超过10步,就到这里)。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-12-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软件测试经验与教训 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档