漏洞概要 关注数(16) 关注此漏洞
缺陷编号: WooYun-2014-70353
漏洞标题: qibocms多个系统绕过补丁继续注入2
相关厂商: 齐博CMS
漏洞作者: ′雨。
提交时间: 2014-07-31 17:04
公开时间: 2014-10-29 17:06
漏洞类型: SQL注射漏洞
危害等级: 高
自评Rank: 20
漏洞状态: 厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 help@wooyun.org
Tags标签: 无
漏洞详情
披露状态:
2014-07-31: 细节已通知厂商并且等待厂商处理中
2014-08-01: 厂商已经确认,细节仅向厂商公开
2014-08-04: 细节向第三方安全合作伙伴开放(绿盟科技、唐朝安全巡航、无声信息)
2014-09-25: 细节向核心白帽子及相关领域专家公开
2014-10-05: 细节向普通白帽子公开
2014-10-15: 细节向实习白帽子公开
2014-10-29: 细节向公众公开
简要描述:
之前发了补丁被绕过了, 现在又发布了补丁。
今天上午的时候看了看补丁。 第一眼觉得很牛逼。
然后觉得这补丁很吊,就放下了。
下午的时候又继续看了看补丁 原来还是可以绕过。
依旧是通杀多个系统。
由于是通用的函数, 所以能造成注入的点不止一处。
用v7整站系统 再随便找一个点来说就行啦。
详细说明:
再来看看一下 qibocms的全局过滤函数
这里把数组中的value addslashes 转义了
但是没有对key addslashes (这里应该也不能做addslashes 因为会像上次那样绕过)
可以看到是把过滤key的代码换了 之前是replace 可以绕过
现在是 @eregi("['\\\"&]+",$key) && die('ERROR KEY!');
我擦, 看起来很叼的样子。 匹配到' 或者 " 或者\ 就直接退出。
当我第一眼看到的时候 觉得很叼 就放下了qibo。 睡觉去了。
________________________________________________________________________
到了下午 精神倍棒
依旧 我们自己来写一个文件测试一下
再调用一下qibo的这函数
碉堡 key中的单引号被匹配到了 被退出了
但是换一种方式呢 这里我输出一下$key
可以看到提交**.**.**.**/yu.php?a[a'][asd]=a 的时候 那么进入过滤函数的时候的key是asd
那么就不会被匹配到 就不会被过滤了。
那么我们不就是绕过了这个过滤了?
___________________________________________________________________________
绕过了这个随便找个点来说
在member/post.php中
foreach 出来的key没有过滤 直接带入到了查询当中
直接提交key被匹配出 像刚才那样绕过一下
这样进行检测的key 是asd 但是 带入查询的 而是那段含单引号的key。
造成了注入。
漏洞证明:
修复方案:
这个我真心也不知道怎么过滤了。。
还是看你们把。
版权声明:转载请注明来源 ′雨。@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:20
确认时间:2014-08-01 10:20
厂商回复:
感谢提出来
最新状态:
暂无
漏洞评价:
对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值