最新织梦cms漏洞之安全设置,有效防护木马(更新至20190920)
(此图片来源于网络,如有侵权,请联系删除! )
织梦CMS在安装完成后,新人往往会直接开始开发使用,忽视了一些安全优化的操作,这样会导致后期整个系统安全系数降低,被黑或者被注入的概率极高,毕竟这世界百分百存在着极多的无聊hacker对全网的网站进行扫描,扫到你这个菜站,尤其是使用率极高的DEDECMS,对你的站点下手的欲望更高,所以在开发前做好安全防范还是很有必要的!
安全设置前:备份网站文件及数据库
系统安全优化设置之前,做好备份工作。网站备份是网站维护必须必学基础。
安全设置一:删文件
安装完成后会有一些文件,可以说是冗余文件,完全没有作用,反而带来被黑的危险,删除即可,以下目录文件均可删除:
安全设置二:后台目录及账号密码修改
①网站后台文件改名:默认后台目录是/dede,需要将这个文件夹的名称修改,比如改为WangZhan123@+,那么后台登陆地址就由www.xxx.com/dede变为www.xxx.com/WangZhan123@+,(不定期更改一下)
②后台登录密码请勿使用admin。
安全设置三:目录权限设置
①有条件的用户把中 data、templets、uploads、a(可删)、special(可删)、images、install(装后删)目录设置为不允许执行脚本,include、plus、dede目录禁止写入,系统将更安全;
②权限设置一般通过主机控制面板,比如阿里云的文件和目录权限设置、西部数码的文件保护等等。
③老版本若登录后台提示验证码错误,选中/data目录,将权限设置为完全控制(可读可写)权限
(此图片来源于网络,如有侵权,请联系删除! )
安全设置四:主机安全防护
主机安全防护只针对独立服务器或者VPS。
WIN服务器:可以安装安全狗、『D盾_防火墙』
LINUX服务器:网站防窜改程序、宝塔系统加固;
安全设置五:任意文件上传漏洞
①、漏洞文件① /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(“你指定的文件名被系统禁止!”,javascript:;);exit();}$fullfilename=$cfg_basedir.$activepath./.$filename;②、漏洞文件 /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(“你指定的文件名被系统禁止!”,javascript:;);exit();}$fullfilename=$cfg_basedir.$filename;③、漏洞文件 /include/uploadsafe.inc.php (修改两个地方)$image_dd=@getimagesize($$_key);修改为$image_dd=@getimagesize($$_key);if($image_dd==false){continue;}${$_key._size}=@filesize($$_key);}修改为${$_key._size}=@filesize($$_key);}$imtypes=array(“image/pjpeg”,“image/jpeg”,“image/gif”,“image/png”,“image/xpng”,“image/wbmp”,“image/bmp”);if(in_array(strtolower(trim(${$_key._type})),$imtypes)){$image_dd=@getimagesize($$_key);if($image_dd==false){continue;}if(!is_array($image_dd)){exit(Upload filetype not allow !);}}安全设置六、SQL注入漏洞
①、漏洞文件 /include/filter.inc.php (大概在46行)安全设置五:无用文件中的风险代码删除
① dede empletslogin_ad.htm(这是织梦默认后台登陆界面的广告代码,没用,删除以下这段代码) class=“dede-ad”> type=“text/javascript”src=http://www.dede58.com/a/dedeaz/“http://ad.dedecms.com/adsview/?action=single&key=admcploginad&charset=gbk”> ② dede empletsindex_body.htm(织梦的后台首页模板文件,删除以下这段广告代码) name=“showad”src=http://www.dede58.com/a/dedeaz/“index_body.php?dopost=showad”frameborder=“0”width=“100%”id=“showad”frameborder=“0”scrolling=“no”marginheight=“5”>③ dedemodule_main.php(向织梦官网发送卸载或安装插件的信息,若服务器配置不高,或不支持采集(下载),那会卡死!注释掉以下代码)SendData($hash);//321行SendData($hash,2);//527行④ include agliblink.lib.php(织梦官方友链上传的代码,没有用,删除,否则占用性能,甚至卡死)elseif($typeid==999){}//将{}里的以及上面的else全部删除⑤ includededemodule.class.php(版本检测代码,30分钟一次,要扫描文件的!为什么管理模块打不开的原因就在这里,网站配置低的,卡死!)if(file_exists($cachefile)&&(filemtime($cachefile)+60*30)>time())修改为if(file_exists($cachefile)&&filesize($cachefile)>10)⑥ includededesql.class.php(下面这段代码会给网站加友情链接及版权Power by DedeCms,删除)$arrs1=array(0x63,0x66,0x67,0x5f,0x70,0x6f,0x77,0x65,0x72,0x62,0x79);$arrs2=array(0x20,0x3c,0x61,0x20,0x68,0x72,0x65,0x66,0x3d,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x64,0x65,0x64,0x65,0x63,0x6d,0x73,0x2e,0x63,0x6f,0x6d,0x20,0x74,0x61,0x72,0x67,0x65,0x74,0x3d,0x27,0x5f,0x62,0x6c,0x61,0x6e,0x6b,0x27,0x3e,0x50,0x6f,0x77,0x65,0x72,0x20,0x62,0x79,0x20,0x44,0x65,0x64,0x65,0x43,0x6d,0x73,0x3c,0x2f,0x61,0x3e);//特殊操作$arrs1=array();$arrs2=array();if(isset($GLOBALS[arrs1])){$v1=$v2=;for($i=0;isset($arrs1[$i]);$i++){$v1.=chr($arrs1[$i]);}for($i=0;isset($arrs2[$i]);$i++){$v2.=chr($arrs2[$i]);}$GLOBALS[$v1].=$v2;}⑦ includecommon.func.php(会给网站加版权的,删除)$arrs1=array(0x63,0x66,0x67,0x5f,0x70,0x6f,0x77,0x65,0x72,0x62,0x79);$arrs2=array(0x20,0x3c,0x61,0x20,0x68,0x72,0x65,0x66,0x3d,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x64,0x65,0x64,0x65,0x63,0x6d,0x73,0x2e,0x63,0x6f,0x6d,0x20,0x74,0x61,0x72,0x67,0x65,0x74,0x3d,0x27,0x5f,0x62,0x6c,0x61,0x6e,0x6b,0x27,0x3e,0x50,0x6f,0x77,0x65,0x72,0x20,0x62,0x79,0x20,0x44,0x65,0x64,0x65,0x43,0x6d,0x73,0x3c,0x2f,0x61,0x3e);安全设置六:利用伪静态功能禁止以下目录运行php脚本
① linux主机的用户一般都是apache环境,使用 .htaccess 文件来设置,如果你网站根目录已经存在这个文件,那就复制一下代码添加进去。
RewriteEngineon安全设置 禁止以下目录运行指定php脚本RewriteCond%!^$RewriteRulea/(.*).(php)$–[F]RewriteRuledata/(.*).(php)$–[F]RewriteRuletemplets/(.*).(php|htm)$–[F]RewriteRuleuploads/(.*).(php)$–[F]②:windows主机的用户一般都是iis7、iis8环境,使用 web.config 文件来设置,请确认你的主机已经开启了伪静态而且网站根目录有 web.config 文件,有这个文件的可以复制以下代码添加到对应的rules内。
③:Nginx下禁止指定目录运行PHP脚本
注意:这段配置文件一定要放在 location ~ .php(.*)$ 的前面才可以生效,配置完后记得重启Nginx生效。
location~*/(a|data|templets|uploads)/(.*).(php)${return403;}测试有没有生效,可以随便创建一个PHP文件传到uploads文件夹下,执行:域名/uploads/测试文件.php 如果不能打开说明生效。
安全知识七:常见木马文件
迄今为止,我们发现的恶意脚本文件有:
1:检查有无/data/cache/t.php 、/data/cache/x.php和/plus/index.php 这些木马文件,有的话则立即删除
2:plus 目录木马
plus/90sec.php plus/ac.php plus/config_s.php plus/config_bak.php plus/diy.php(系统文件)plus/ii.php plus/lndex.php data/cache/t.php data/cache/x.php data/cache/mytag-*.htm data/config.php data/cache/config_user.php data/config_func.php include/taglib/shell.lib.php include/taglib/*.lib.php大多数被上传的脚本集中在plus、data、data/cache、include这几个目录下,请仔细检查这几个目录下最近是否有被上传异常文件。
推荐D盾—WEB查看工具:
软件使用自行研发不分扩展名的代码分析引擎,能分析更为隐藏的WebShell后门行为。
引擎特别针对,一句话后门,变量函数后门,${}执行 ,`执行,
preg_replace执行,call_user_func,file_put_contents,fputs 等特殊函数
的参数进行针对性的识别,能查杀更为隐藏的后门,
并把可疑的参数信息展现在你面前,让你能更快速的了解后门的情况
新版特别针对 dedecms 的{dede:php}{/dede:php}代码加入了识别!
软件加入隔离功能,并且可以还原!