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

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

缺陷编号:wooyun-2012-07026

漏洞标题: 易通企业网站系统(cmseasy) 权限提升 & getShell通杀漏洞

相关厂商:cmseasy

漏洞作者: CodePlay

提交时间:2012-05-14 15:47

修复时间:2012-05-19 15:48

公开时间:2012-05-19 15:48

漏洞类型:非授权访问/权限绕过

危害等级:中

自评Rank:5

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2012-05-14: 细节已通知厂商并且等待厂商处理中
2012-05-19: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

易通企业网站系统(cmseasy) 注册用户在更新资料时和本地构造groupid表单(判断管理员权限 为888即为管理员),可直接拿提升为管理权限,后台多处可以 getShell,只要开放注册 通杀

详细说明:

漏洞文件在 table.php中的 sql_update($tbname,$row,$where) 函数

function sql_update($tbname,$row,$where) {
$sqlud='';
if (is_string($row))
$sqlud=$row.' ';
else
foreach ($row as $key=>$value) {
if (in_array($key,explode(',',$this->getcolslist()))) {
$value=addslashes($value);
if (preg_match('/^\[(.*)\]$/',$value,$match))
$sqlud .= "`$key`"."= ".$match[1].",";
elseif ($value === "")
$sqlud .= "`$key`= NULL, ";
else
$sqlud .= "`$key`"."= '".$value."',";
}
}
$sqlud=rtrim($sqlud);
$sqlud=rtrim($sqlud,',');
$this->condition($where);
$sql="UPDATE `".$tbname."` SET ".$sqlud." WHERE ".$where;
return $sql;
}


循环遍历 POST 值 然后直接写入数据库更新 导致用户可以自定义权限判断字段
权限提升漏洞

漏洞证明:

注册用户名
编辑资料


得到管理权限(ps: 后台超炫)


GetShell

修复方案:

不要把前台用户和普通会员放到一个表,任意权限提升 , 取消table.php 中的函数sql_update 函数 或做出相应过滤 。

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


漏洞回应

厂商回应:

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

忽略时间:2012-05-19 15:48

厂商回复:

最新状态:

暂无


漏洞评价:

评论

  1. 2012-05-19 22:29 | _Evil ( 普通白帽子 | Rank:418 漏洞数:59 | 万事无他,唯手熟尔。农民也会编程,别指望天...)