漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2014-089426
漏洞标题:可能是一种通杀的waf bypass方式(安全狗实例)
相关厂商:安全狗
漏洞作者: MayIKissYou
提交时间:2014-12-31 10:52
修复时间:2015-01-05 10:54
公开时间:2015-01-05 10:54
漏洞类型:设计缺陷/逻辑错误
危害等级:高
自评Rank:15
漏洞状态:漏洞已经通知厂商但是厂商忽略漏洞
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2014-12-31: 细节已通知厂商并且等待厂商处理中
2015-01-05: 厂商已经主动忽略漏洞,细节向公众公开
简要描述:
由于某些字符处理不好,可能导致所有的waf bypass。
详细说明:
ps.这种类型厂商不知道提给谁,提给wooyun不被X吧
1:一般所有的waf在做sql防注入的时候都会对sql注入的union注入方式防的死死的,大致模型是这样的:
各家对于此处的防范各有不同,但是防范的都很好。
2:在mysql里面有一个空白符为%a0,此符号为空白符。
3:但是%a0是扩展字符里面的,当%a0+另外一个字符,可能会在web层面解析的时候出现意想不到的结果。
4:手上有安全狗,拿安全狗测试了,首先关闭安全狗的服务,我们在url中输入以下url:
首先我的id是一个字符类型注入的参数,此时我们去看下页面返回的结果
发现结果中出现了乱码,感觉我的%a0和s一起被解析成了乱码。但是在mysql层面去执行的时候%0a又被当做空白符执行了,显示出来了我的mysql的版本和数据库名称,感觉碉堡了。
5:这样一来解析出来的结果岂不是bypass掉了无论是waf也好,还是应用程序本身的正则也好。
6:我们开启安全狗试试,先输入%0a查看安全是不是好使的:
果然拦截了
7:此时将%0a换成%0a尝试一下:
可以看到安全狗没有反应,显示出来了数据库的信息,因此看来至少可以搞定狗了,这样的web解析感觉其他的waf很有可能也会有类似的问题。
ps.会不会被雷p啊
漏洞证明:
修复方案:
看着修吧
版权声明:转载请注明来源 MayIKissYou@乌云
漏洞回应
厂商回应:
危害等级:无影响厂商忽略
忽略时间:2015-01-05 10:54
厂商回复:
最新状态:
2015-01-21:不好意思,没有及时回复,确实有这个问题,近期会修复更新