漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2016-0192841
漏洞标题:Bypass阿里云盾、百度云加速、安全宝、安全狗、云锁、360主机卫士SQL注入防御
相关厂商:cncert国家互联网应急中心
漏洞作者: 从容
提交时间:2016-04-06 21:50
修复时间:2016-07-07 19:00
公开时间:2016-07-07 19:00
漏洞类型:非授权访问/认证绕过
危害等级:高
自评Rank:15
漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2016-04-06: 细节已通知厂商并且等待厂商处理中
2016-04-08: 厂商已经确认,细节仅向厂商公开
2016-04-11: 细节向第三方安全合作伙伴开放(绿盟科技、唐朝安全巡航、无声信息)
2016-06-02: 细节向核心白帽子及相关领域专家公开
2016-06-12: 细节向普通白帽子公开
2016-06-22: 细节向实习白帽子公开
2016-07-07: 细节向公众公开
简要描述:
安全只有相对,没有绝对。
详细说明:
漏洞证明:
阿里云盾:
Bypass:
百度云加速:
Bypass:
安全宝:
安全宝就比较有意思了,这个方法试了下不可行。
再看看安全宝怎么检测的:
只有union select不会被拦截。
当union select后面加上查询字段的时候就会被拦截,所以可以不必在union与select之间使用这个方法。
想了想,要是有方法配合%23%0A能绕过也可以啊,在union select%23与%0A之间做文章。
各种能想到的方式都试了个遍,也许大家猜到了故事的开头,却没猜到故事的结局。。。
想到了Emoji。。。(其实Emoji很久之前就想过了,但是一直没利用上,这回终于用上了。)
一个emoji图标占5个字节,mysq也支持emoji的存储,在mysql下占四个字节:
既然在查询的时候%23会忽略掉后面的,那么Emoji就可以插入到%23与%0A之间。
再加多试了试,成功绕过了,200多个emoji图标,只能多,但少一个都不行。。。
(这里暴露出一个bug,200多个emoji插入到code区域中时,发现emoji后面的内容全没了!!!也就是说我这后面是重写了两遍!!!所以截图吧。。。)
可能会说,这是因为超长查询导致的绕过吧?并不是。
这么长,mysql也是会执行的:
安全狗:
Windows Server 2008 + APACHE + PHP + Mysql
Bypass:
云锁:
Windows Server 2003 + APACHE + PHP + Mysql
360主机卫士:
和安全宝那个利用方式一样,也是需要结合emoji图标即可实现绕过注入防御。
Bypass:
可能会想,知道创宇的加速乐忘了?没有啊。。。其实这个方法加速乐可以是可以,但是相对来说,利用起来很鸡肋。union select是绕过了,没法绕过后面的检测。
修复方案:
唉,写了半天。。。挨个通知修复过滤吧。。。
版权声明:转载请注明来源 从容@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:10
确认时间:2016-04-08 18:58
厂商回复:
CNVD未直接复现所述情况,已由CNVD通过软件生产厂商公开联系渠道向其邮件和电话通报。
最新状态:
暂无