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

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

缺陷编号:wooyun-2014-062242

漏洞标题:Maccms 最新注入一枚。

相关厂商:maccms.com

漏洞作者: ′雨。

提交时间:2014-05-28 15:32

修复时间:2014-08-23 15:34

公开时间:2014-08-23 15:34

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:20

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-05-28: 细节已通知厂商并且等待厂商处理中
2014-06-02: 厂商主动忽略漏洞,细节向第三方安全合作伙伴开放
2014-07-27: 细节向核心白帽子及相关领域专家公开
2014-08-06: 细节向普通白帽子公开
2014-08-16: 细节向实习白帽子公开
2014-08-23: 细节向公众公开

简要描述:

看到maccms又更新了 果断下来看看。
本来可以Sql的地方还挺多。。 但是由于自带的360防注入脚本。。我没办法绕过。
还是找到了一处, (如果没这防注入的话可以直接利用这注入登录后台)。。
可是。。 老老实实盲注把。

详细说明:

maccms 基本上都是调用be函数来代替$_POST之类的。
都做了addslashes。
在admin/admin_conn.php中

function chkLogin()
{
global $db;
$m_id = getCookie('adminid');
$m_name = getCookie('adminname');
$m_check = getCookie('admincheck');

if (!isN($m_name) && !isN($m_id)){

$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.');
}
}


这里 检测是否登录。

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


这里并没有做addslashes。
if ($m_check = $loginValidate) 这样的话就能直接进后台了把。
但是我测试的时候发现 如果$m_check = $loginValidate 就会被360拦。。
如果不等于的话就能带入查询。所以 盲注把。

漏洞证明:

ma1.jpg


ma2.jpg


成功带入 可以盲注

修复方案:

addslashes

版权声明:转载请注明来源 ′雨。@乌云


漏洞回应

厂商回应:

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

忽略时间:2014-08-23 15:34

厂商回复:

最新状态:

2014-06-05:请在最新版本中测试