漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2016-0194030
漏洞标题:悟空CRM无需任何权限的SQL注入漏洞2(ThinkPHP特性)
相关厂商:郑州卡卡罗特软件科技有限公司
漏洞作者: phith0n
提交时间:2016-04-08 20:09
修复时间:2016-07-10 15:50
公开时间:2016-07-10 15:50
漏洞类型:SQL注射漏洞
危害等级:高
自评Rank:20
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2016-04-08: 细节已通知厂商并且等待厂商处理中
2016-04-11: 厂商已经确认,细节仅向厂商公开
2016-04-14: 细节向第三方安全合作伙伴开放(绿盟科技、唐朝安全巡航、无声信息)
2016-06-05: 细节向核心白帽子及相关领域专家公开
2016-06-15: 细节向普通白帽子公开
2016-06-25: 细节向实习白帽子公开
2016-07-10: 细节向公众公开
简要描述:
一个没有权限控制的类,正好又有注入~
(给L.N.添堵系列之三)
另外厂商分给高点呗,别这么小气~本来不想挖了的。
详细说明:
/App/Lib/Mobile/LogMobile.class.php
这个类没有权限验证(_initialize方法)哦~
看到edit函数:
乍一看没啥问题,实际上暗含一个ThinkPHP特性的漏洞,详见我发的 http://**.**.**.**/bugs/wooyun-2010-086737
这里create方法先获取所有$params,并根据POST中传入的主键(log_id)来update数据库。而update的where实际上就是 array('log_id', $params['log_id']);
只要我传入的$params['role_id']的值是数组,并且数组的第一个参数是exp,那么第二个参数就可以直接填SQL注入语句。
直接演示。
**.**.**.**/wukongcrm/mobile.php?m=log&a=edit
POST数据包:id=1¶ms={"log_id":["exp","=sleep(2)"],"content":"phithon"}
可以sleep两秒:
注入log表中有数据的话,可以使用bool盲注。user()的第一个字符大于0,正确,返回真:
user()的第一个字符大于200,不正确,返回假:
漏洞证明:
修复方案:
版权声明:转载请注明来源 phith0n@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:15
确认时间:2016-04-11 15:45
厂商回复:
感谢关注
最新状态:
暂无