织梦CMS5.7最新织梦有效防挂马清马,织梦漏洞修补全!2019-8-30更新

本文是为了防止更多织梦站长被灰色产业侵害!

最近在DEDECMS群里听到很多老铁讨论被挂马的事情,轻则是被黑进后台种马,重则整个服务器被提权,织梦安全这么差的原因主要是开发团队解散,已经一年多没有更新新版本,织梦这种老牌cms漏洞是在所难免的。

织梦最常见挂马的位置的是:/images、/include、/data/sessions、/data/tplcache、/dede/templets、/plus、/uploads
通过服务器网站日志不难看出,一般这些叼毛都是使用软件在爬各种系统的核心目录,基本应对方案是更改dede、data、plus、include这几个目录名称,修改的时候需要主要源码的目录名也要改掉,改名方法百度一大把请自行百度。
uploads绑定二级域名、资源放根目录、m目录绑定二级域名、修改放模板的上级目录 /templets/default/ 的名字,robots文件不要暴露文件位置,这几个小手段能够避免部分有心之人。

进入正题,以下地方按需要进行修改
.htaccess 文件中加入以下禁止代码,请注意data、templets、uploads目录名对应

RewriteCond % !^$
RewriteRule a/(.*).(php)$ – [F]
RewriteRule data/(.*).(php)$ – [F]
RewriteRule templets/(.*).(php|htm)$ – [F]
RewriteRule uploads/(.*).(php)$ – [F]

删除/install、/special、/member(member目录根据网站情况来删除)
删除dede目录中含有的漏洞文件(可选删除)

/tpl.php	文件上传管理系统文件,有FTP上传文件就够了
/mytag_*.php、/mytag_tag_*.php	自定义标记管理**

删除plus目录中所有用不上的模块(根据网站情况来删除)

/bookfeedback.php、/bookfeedback_js.php	图书评论和评论调用文件,存在注入漏洞,不安全
/bshare.php	分享插件
/ad_js.php	广告插件,新闻资讯站用到的,请勿删除
/car.php、posttocar.php、/carbuyaction.php	购物车
/comments_frame.php	调用评论,存在安全漏洞
/digg_ajax.php、/digg_frame.php	顶踩
/download.php、/disdls.php	下载和次数统计
/erraddsave.php	纠错
/feedback.php、/feedback_ajax.php、/feedback_js.php	评论
/stow.php	内容收藏
/task.php、/task/	计划任务
/guestbook/ 这个可以删掉

已知文件上传漏洞

一、
    在/include/dialog/select_soft_post.php中查找
    	$fullfilename = $cfg_basedir.$activepath.'/'.$filename;
    它上面加入
	    if (preg_match('#.(php|pl|cgi|asp|aspx|jsp|php5|php4|php3|shtm|shtml)[^a-zA-Z0-9]+$#i', trim($filename))){
	    	ShowMsg("你指定的文件名被系统禁止!","-1");
	    	exit();
	    }

二、
    在/include/uploadsafe.inc.php中
    查找
    	$cfg_not_allowall = "php|pl|cgi|asp|aspx|jsp|php3|shtm|shtml";
    替换成
    	$cfg_not_allowall = "php|pl|cgi|asp|aspx|jsp|php3|shtm|shtml|htm|html";
    查找
    	$image_dd = @getimagesize($$_key);
    它后面添加
	    if($image_dd == false){ 
	    	continue; 
	    }

三、
    在/dede/media_add.php中查找
    	$fullfilename = $cfg_basedir.$filename;
    它上面加入
	    if (preg_match('#.(php|pl|cgi|asp|aspx|jsp|php5|php4|php3|shtm|shtml)[^a-zA-Z0-9]+$#i', trim($filename))){
		    ShowMsg("你指定的文件名被系统禁止!","-1");
		    exit();
	    }

四、
    //DedeCMS <=5.7 SP2 file_class.php 任意文件上传漏洞
    在/dede/file_class.php 中查找
    	else if(preg_match("/\.(".$fileexp.")/i",$filename))
    替换为
    	else if(substr($filename, -strlen($fileexp))===$fileexp)

已知其他漏洞

一、
      在/include/taglib/flink.lib.php中查找
      删除
        else if($typeid == 999)
        {
        里面的内容也删除
        }
二、
      在/dede/module_main.php中注释
         //向织梦官网发送卸载或安装插件的信息,若服务器配置不高,或不支持采集(下载),那会卡死!注释掉以下代码
         SendData($hash);在321行
         SendData($hash,2);在527行
三、
       在/include/dedemodule.class.php中
       将
        	//版本检测代码,30分钟一次,要扫描文件的!为什么管理模块打不开的原因就在这里,网站配置低的,卡死!
        	if(file_exists($cachefile) && (filemtime($cachefile) + 60 * 30) > time())
        修改为
            if(file_exists($cachefile) && filesize($cachefile) > 10)
四、
        在/include/common.func.php中
        将
	        $arrs1 = array(
	        ...
	        0x3e);
        删除

已知RemoveXSS漏洞

在/include/helpers/filter.helper.php中
搜索
	$val = preg_replace('/([\x00-\x08,\x0b-\x0c,\x0e-\x19])/', '', $val);
在其上面添加
    $val = dede_htmlspecialchars($val);
    //注意:php5.4以下版本则没有htmlspecialchars函数可用代替dede_htmlspecialchars

已知SQL注入漏洞

一、
    在/include/filter.inc.php中
    搜索
   		return $svar;
    修改为
   		return addslashes($svar);
    搜索
    	${$_k} = _FilterAll($_k,$_v);
    替换为 
    	${$_k} = addslashes(_FilterAll($_k,$_v));
二、
    在/include/dedesql.class.php中
    搜索
	    //$this->safeCheck = TRUE;
	    $this->safeCheck = FALSE;		//关闭恶意访问拦截
    替换为
	    $this->safeCheck = TRUE; 		//如果搜索功能报错,请将这里关闭
	    //$this->safeCheck = FALSE;		//关闭恶意访问拦截
    搜索
    	if(isset($GLOBALS['arrs1']))
    前面加上
    	$arrs1 = array(); $arrs2 = array();

细节方面
/images、/include、/data/common.inc.php、/dede、/plus这几个目录设置为只读:对应权限555
以上就是预防挂马的最新方法!
被挂马之后可以下载D盾扫描网站木马程序,并进行清理

你可能感兴趣的:(织梦CMS)