欢迎来到福编程网,本站提供各种互联网专业知识!

易通企业网站系统(cmseasy) 权限提升的方法及getShell通杀漏洞的介绍

发布时间:1970-01-01 作者:佚名 来源:互联网
易通企业网站系统(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); www.jb51.net

$sqlud=rtrim($sqlud,',');

$this->condition($where);

$sql="UPDATE `".$tbname."` SET ".$sqlud." WHERE ".$where;

return $sql;

}

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

权限提升漏洞

漏洞证明:注册用户名

编辑资料

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

GetShell

修复方案:

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

可以暂时先关闭注册

作者 CodePlay 【

相关推荐