香港独立IP空间
香港php空间
美国php空间
域名注册

站长朋友们都知道织梦dedecms系统是目前国内最受欢迎的一款开源企业系统,它的特点是代码开源,功能强大,所以越来越多的网站建设人员选择dedecms来搭建网站,但是有利就有敝的,往往黑客也看到了这个系统存在的bug,各种各样的攻击方法层出不穷,排名好的,权重高的,流量大的网站都难逃被攻击的危险。最近织梦dedecms又曝出了很多高危漏洞。一般情况下客户以防被攻击都是采用以下几种常见的防患措施。第一种:修改后台目录:安装好网站之后第一步就应该修改后台目录,把默认的dede随意改成其他名字。第二种:一般建议安装的时候数据库的表前缀最好改一下,不用dedecms默认的前缀dede_,可以改成其他的名称如bdw_第三种:安装后应立即把install文件删除;第四种:如果不需要SQL命令运行器的可以把管理目录下的sys_sql_query.php删除;第五种:不用会员系统,就把member整个文件夹全部;第六种:不用下载发布功能可以把管理目录下soft__xxx_xxx.php删除;一般以上很多站长都可以百度了解下。但是今天小编说的是dedecms存在的全局变量导致的大范围漏洞。通过以上方法是无法修补的。360也是做出了明显的提示。小编也是跟踪了一个礼拜的时间去研究,思考,分析才找到了临时的解决方案。一般织梦dedecms中存在的全局变量有以下小编在这里一一列举下:

$GLOBALS, 所有全局变量数组

$_SERVER, 服务器环境变量数组

$_GET,通过GET方法传递给脚本的变量数组

$_POST, 通过POST方法传递给脚本的变量数组

$_COOKIE,cookie变量数组

$_REQUEST,所有用户输入的变量数组,包括$_GET, $_POST和$_COOKIE所包含的输入内容

$_FILES,与文件上传相关得变量数组

$_ENV,环境变量数组

$_SESSION,会话变量数组

一般这些全局变量在程序中起到的作用很大,可以直接传参通过webshell来修改网站后台的用户名密码,也就是通过这个漏洞直接重新定义数据库连接。小编研究出的解决方案是:

首先找到:include/common.inc.php这个文件 找到以下代码:

foreach(Array(‘_GET’,’_POST’,’_COOKIE’) as $_request)

{

foreach($$_request as $_k => $_v) ${$_k} = _RunMagicQuotes($_v);

}

修改为:

foreach(Array(‘_GET’,’_POST’,’_COOKIE’) as $_request)

{

foreach($$_request as $_k => $_v) {

if( strlen($_k)>0 && eregi(‘^(cfg_|GLOBALS)’,$_k) ){

exit(‘Request var not allow!’);

}

${$_k} = _RunMagicQuotes($_v);

}

}

通过以上修改后全局变量就不会在被覆盖,这样黑客传参数进数据库也会失败。的确dedecms存在的漏洞太多了,我们只有一点点的发现,发现后及时作出升级,打补丁,才能不被黑客有机可乘。小编最好是建议站长朋友们定期的对站点进行备份,这样就算被攻击瘫痪了也是可以恢复备份的。

本文地址:http://www.51php.com/dedecms/14938.html

喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^

阅读本文的人还阅读:


搜索技术文档