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

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

缺陷编号:wooyun-2014-062245

漏洞标题:Maccms V8 Sql Injection #1(有gpc限制)

相关厂商:maccms.com

漏洞作者: Mody

提交时间:2014-05-27 15:34

修复时间:2014-08-25 15:36

公开时间:2014-08-25 15:36

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-05-27: 细节已通知厂商并且等待厂商处理中
2014-05-27: 厂商已经确认,细节仅向厂商公开
2014-05-30: 细节向第三方安全合作伙伴开放
2014-07-21: 细节向核心白帽子及相关领域专家公开
2014-07-31: 细节向普通白帽子公开
2014-08-10: 细节向实习白帽子公开
2014-08-25: 细节向公众公开

简要描述:

现在 V8版本 基本全部文件都有zend加密了。
而且还有360_safe3.php保护
刚开始以为没搞头的,结果有个妹子发来微信。
妹子:在干嘛?
我:挖洞
妹子:一个人挖?
我:对啊!
妹子:我过去陪你一起挖吧!
我马上关机。擦,想跟老子抢乌云币?果断一个人作死开挖

详细说明:

是cookie注入,有gpc限制,4处注入点
重现下发现过程
1. inc/common/function.php
直接获取cookie,未过滤

function getCookie($key)
{
if(!isset($_COOKIE[$key])){
return '';
}
else{
return $_COOKIE[$key];
}
}


2. admin/admin_conn.php
chkLogin() 函数获取cookie未过滤

function chkLogin()
{
global $db;
$m_id = getCookie('adminid'); //这里直接没有过滤
$m_name = getCookie('adminname'); //这里直接没有过滤
$m_check = getCookie('admincheck'); //这里直接没有过滤
/*
print '$m_id='.$m_id.'<br>';
print '$m_name='.$m_name.'<br>';
print '$m_check='.$m_check.'<br>';
*/
if (!isN($m_name) && !isN($m_id)){
/*
print '$sql=';
print 'SELECT * FROM {pre}manager WHERE m_name=\'' . $m_name .'\' AND m_id= \''.$m_id .'\' AND m_status=1';
print '<br>';
*/
$row = $db->getRow('SELECT * FROM {pre}manager WHERE m_name=\'' . $m_name .'\' AND m_id= \''.$m_id .'\' AND m_status=1');
if($row){
$loginValidate = md5($row['m_random'] . $row['m_name'] . $row['m_id']);
if ($m_check != $loginValidate){
sCookie ('admincheck','');
redirect('?m=admin-login','top.');
}
}
else{
sCookie ('admincheck','');
redirect('?m=admin-login','top.');
}
}
else{
redirect('?m=admin-login','top.');
}
}


3. admin/editor/uploadshow.php
但是cookie都通过了360_safe3.php保护,怎么办呢?当然是找漏网之鱼了,发现几处

<?php
require(dirname(__FILE__) .'/../admin_conn.php');
chkLogin();
$action=be("get","action");
$id=be("get","id");
$path=be("get","path");
?>


此处调用完全没过滤,直接sqlmap开搞即可
其它几处类似注入点

2.JPG

漏洞证明:

官网不是这个程序,本地搭的
>sqlmap.py -u "http://localhost/maccms8/admin/editor/uplo
adshow.php" --cookie="adminid=1; adminname=admin; admincheck=aaaa" -p cookie

1.JPG

修复方案:

1. include 360_safe3.php
2. 其它四处类似,别忘了

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:10

确认时间:2014-05-27 17:14

厂商回复:

漏洞已经修复,稍后发布更新。

最新状态:

暂无


漏洞评价:

评论

  1. 2014-05-27 17:41 | Mody ( 普通白帽子 | Rank:110 漏洞数:27 | "><img src=x onerror=alert(1);> <img s...)

    @maccms.com 确认真快,赞一个,可是挖了3个洞,还不到10rank。。。