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

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

缺陷编号: WooYun-2012-07026

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

相关厂商: cmseasy

漏洞作者: CodePlay

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

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

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

危害等级: 中

自评Rank: 5

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

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

Tags标签: 设计缺陷/边界绕过 任意文件上传 变量覆盖

0人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

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

详细说明:

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

code 区域
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

厂商回复:

最新状态:

暂无


漏洞评价:

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

漏洞评价(少于3人评价):
登陆后才能进行评分
100%
0%
0%
0%
0%

评价

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

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