最新织梦DEDE漏洞之安全设置,有效防护木马(更新至20190920)
织梦DEDE在安装完成后,新人总是会直接开始开发用,忽略了一些安全优化的操作,如此会致使后期整个系统安全系数减少,被黑或者被注入的概率极高,毕竟这世界100%存在着极多的无聊hacker对全网的网站进行扫描,扫到你这个菜站,特别是用率极高的织梦CMS,对你的站点下手的欲望更高,所以在开发前做好安全防范还是非常有必要的!
安全设置前:备份网站文件及数据库
系统安全优化设置之前,做好备份工作。网站备份是网站维护需要一定要学基础。
安全设置1、删文件
安装完成后会有一些文件,可以说是冗余文件,完全没用途,反而带来被黑的危险,删除即可,以下目录文件均可删除:
安全设置2、后台目录及账号密码修改
①网站后台文件改名:默认后台目录是/dede,需要将这个文件夹的名字修改,譬如改为WangZhan123@+,那样后台登陆地址就由www.xxx.com/dede变为www.xxx.com/WangZhan123@+,
②后台登录密码请不要用admin。
安全设置3、目录权限设置
①有条件的用户把中data、templets、uploads、a(可删)、special(可删)、images、install(装后删)目录设置为不允许实行脚本,include、plus、dede目录禁止写入,系统将更安全;
②权限设置通常通过主机控制面板,譬如阿里云的文件和目录权限设置、西部数码的文件保护等等。
③老版本若登录后台提示验证码错误,选中/data目录,将权限设置为完全控制(可读可写)权限
安全设置4、主机安全防护
主机安全防护只针对独立服务器或者VPS。
WIN服务器:可以安装安全狗、『D盾_防火墙』
LINUX服务器:网站防窜改程序、宝塔系统加固;
安全设置5、任意文件上传漏洞
①、漏洞文件① /include/dialog/select_soft_post.php
$fullfilename = $cfg_basedir.$activepath.'/'.$filename;修改为if [^a-zA-Z0-9]+$#i', trim)) {ShowMsg;exit;}$fullfilename = $cfg_basedir.$activepath.'/'.$filename;
②、漏洞文件 /dede/media_add.php
这是后台文件任意上传漏洞
$fullfilename = $cfg_basedir.$filename;修改为if [^a-zA-Z0-9]+$#i', trim)) { ShowMsg; exit; } $fullfilename = $cfg_basedir.$filename;
③、漏洞文件 /include/uploadsafe.inc.php
$image_dd = @getimagesize;修改为$image_dd = @getimagesize; if{ continue; }
${$_key.'_size'} = @filesize;}修改为${$_key.'_size'} = @filesize;}$imtypes = array; if), $imtypes)) { $image_dd = @getimagesize; if{ continue; } if ) { exit;} }
安全设置6、SQL注入漏洞
①、漏洞文件 /include/filter.inc.php
return $svar;修改为return addslashes;
②、漏洞文件 /plus/search.php
$keyword = addslashes);修改为$typeid = intval; $keyword = addslashes);
③、漏洞文件 /member/mtypes.php
$query = "UPDATE `dede_mtypes` SET mtypename='$name' WHERE mtypeid='$id' AND mid='$cfg_ml->M_ID'";修改为$id = intval; $query = "UPDATE `dede_mtypes` SET mtypename='$name' WHERE mtypeid='$id' AND mid='$cfg_ml->M_ID'";
④、漏洞文件 /member/pm.php文件
$row = $dsql->GetOne");修改为$id = intval; $row = $dsql->GetOne");
⑤、漏洞文件 /plus/guestbook/edit.inc.php
$dsql->ExecuteNoneQuery."' WHERE id='$id' ");修改为$msg = addslashes; $dsql->ExecuteNoneQuery."' WHERE id='$id' ");;
⑥、漏洞文件 /member/soft_add.php
$urls .= "{dede:link islocal='1' text='{$servermsg1}'} $softurl1 {/dede:link}";修改为 if {/dede:link}{dede:#sim", $servermsg1) != 1) { $urls .= "{dede:link islocal='1' text='{$servermsg1}'} $softurl1 {/dede:link}"; }
⑦、漏洞文件 /member/article_add.php
if || $dede_fieldshash != md5)修改为if || && $dede_fieldshash != md5))
⑧、漏洞文件 /member/album_add.php
$description = HtmlReplace;//2011.06.30 增加html过滤 (by:DEDE的鱼)修改为$description = HtmlReplace;//2011.06.30 增加html过滤 (by:DEDE的鱼)$mtypesid = intval;
⑨、漏洞文件 /member/inc/inc_archives_functions.php
echo "<input type="hidden" name="dede_fieldshash" value="".md5."" />";修改为echo "<input type="hidden" name="dede_fieldshash" value="". md5 ."" />";
⑩、漏洞文件 /include/common.inc.php
if>0 && preg_match#',$svar) )修改为if>0 && preg_match#',$svar) )
⑪、漏洞文件 /include/payment/alipay.php
$order_sn = trim;修改为$order_sn = trim);
⑫、漏洞文件 /include/dedesql.class.php
if)修改为$arrs1 = array; $arrs2 = array; if)
⑬、漏洞文件 /member/inc/archives_check_edit.php ,发表文章处,对于编辑文章的时候图片参数处置不当,致使了任意文件删除)
$litpic =$oldlitpic;修改为$litpic =$oldlitpic; if !== false || strpos === false) exit;
安全设置5、无用文件中的风险代码删除
① dede empletslogin_ad.htm(这是DEDE默认后台登陆界面的广告代码,没用,删除以下这段代码)
<!--<script type="text/javascript" src="<?php echo UPDATEHOST;?>/织梦CMS/loginad.<?php echo $cfg_soft_lang; ?>.js"></script>--><div class="dede-ad"> <ul> <script type="text/javascript"src="http://ad.织梦CMS.com/adsview/?action=single&key=admcploginad&charset=gbk"></script> </ul></div>
② dede empletsindex_body.htm(DEDE的后台首页模板文件,删除以下这段广告代码)
<iframe name="showad" src="index_body.php?dopost=showad" frameborder="0" width="100%" id="showad" frameborder="0" scrolling="no" marginheight="5"></iframe>
③ dedemodule_main.php(向DEDE官方网站发送卸载或安装插件的信息,若服务器配置不高,或不支持采集(下载),那会卡死!注释掉以下代码)
SendData;//321行SendData;//527行
④ include agliblink.lib.php(DEDE官方友链上传的代码,没用,删除,不然占用性能,甚至卡死)
else if{}//将{}里的与上面的else全部删除
⑤ includededemodule.class.php(版本测试代码,30分钟一次,要扫描文件的!为何管理模块打不开是什么原因就在这里,网站配置低的,卡死!)
if && + 60 * 30) > time)修改为if && filesize > 10)
⑥ includededesql.class.php(下面这段代码会给网站加友情链接及版权"Power by 织梦CMS",删除)
$arrs1 = array;$arrs2 = array;//特殊操作$arrs1 = array; $arrs2 = array; if){ $v1 = $v2 = ''; for;$i++) { $v1 .= chr; } for;$i++) { $v2 .= chr; } $GLOBALS[$v1] .= $v2;}
⑦ includecommon.func.php
$arrs1 = array;$arrs2 = array;
安全设置6、借助伪静态功能禁止以下目录运行php脚本
① linux主机的用户通常都是apache环境,用 .htaccess 文件来设置,假如你网站根目录已经存在这个文件,那就复制一下代码添加进来。
RewriteEngine on#安全设置 禁止以下目录运行指定php脚本RewriteCond % !^$RewriteRule a/.$ – [F]RewriteRule data/.$ – [F]RewriteRule templets/.$ – [F]RewriteRule uploads/.$ – [F]
②:windows主机的用户通常都是iis7、iis8环境,用 web.config 文件来设置,请确认你的主机已经开启了伪静态而且网站根目录有 web.config 文件,有这个文件的可以复制以下代码添加到对应的rules内。
<rule name="Block data" sTOPProcessing="true"> <match url="^data/.php$" /> <conditions logicalGrouping="MatchAny"> <add input="{USER_AGENT}" pattern="data" /> <add input="{REMOTE_ADDR}" pattern="" /> </conditions> <action type="AbortRequest" /></rule><rule name="Block templets" sTOPProcessing="true"> <match url="^templets/.php$" /> <conditions logicalGrouping="MatchAny"> <add input="{USER_AGENT}" pattern="templets" /> <add input="{REMOTE_ADDR}" pattern="" /> </conditions> <action type="AbortRequest" /></rule><rule name="Block SomeRobot" sTOPProcessing="true"> <match url="^uploads/.php$" /> <conditions logicalGrouping="MatchAny"> <add input="{USER_AGENT}" pattern="SomeRobot" /> <add input="{REMOTE_ADDR}" pattern="" /> </conditions> <action type="AbortRequest" /></rule>
③:Nginx下禁止指定目录运行PHP脚本
注意:这段配置文件必须要放在 location ~ .php$ 的前面才可以生效,配置完后记得重启Nginx生效。
location ~* //.$ {return 403;}
测试有没生效,可以随便创建一个PHP文件传到uploads文件夹下,实行:域名/uploads/测试文件.php 假如不可以打开说明生效。
安全常识7、容易见到木马文件
迄今为止,大家发现的恶意脚本文件有:
1:检查有无/data/cache/t.php、/data/cache/x.php和/plus/index.php这部分木马文件,有些话则立即删除
2:plus 目录木马
plus/90sec.phpplus/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.phpdata/cache/mytag-*.htmdata/config.php data/cache/config_user.php data/config_func.phpinclude/taglib/shell.lib.phpinclude/taglib/*.lib.php
大部分被上传的脚本集中在plus、data、data/cache、include这几个目录下,请仔细检查这几个目录下近期是不是有被上传异常文件。
推荐D盾—WEB查询工具:
软件用自行研发不分扩展名的代码剖析引擎,能剖析更为隐藏的WebShell后门行为。
引擎特别针对,一句话后门,变量函数后门,${}实行 ,`实行,
preg_replace实行,call_user_func,file_put_contents,fputs 等特殊函数
的参数进行针对性的辨别,能查杀更为隐藏的后门,
并把可疑的参数信息展示在你面前,叫你能更迅速的认知后门的状况
新版特别针对 织梦CMS 的{dede:php}{/dede:php}代码加入了辨别!
软件加入隔离功能,并且可以还原!
如有不可以辨别的webshell请用上传样本功能上传给大家,大家将后期加入辨别!
下载:http://www.d99net.net/down/WebShellKill_V1.4.1.zip
更新于2020-01-01,后期有更新,将会持续更新本文
希望以上内容可以解决您的问题!
如有其他问题欢迎大家一起交流学习!
►本文网址:http://www.109f.cn/jiaocheng/jiqiao/20220313/13054.html
►凡本站提供教程均已验证教程的准确性。
►为提高用户在织梦后台添加栏目的灵活性(可随意添加/删除栏目),并保持(管理后台添加/删除栏目)与前端网站栏目的一致,本站模板中栏目均未固定,用户直接搜索typeid=''并替换''中的数字为所需栏目id即可。
►本站提供各种类型织梦模板!希望在这里找到喜欢的。下载本站模板,用户直接替换相关文字和图片即可。
►本站仅提供织梦模板即(DEDE模板),(除另外说明)均不带织梦安装程序及数据,用户直接覆盖默认模板即可。
►本站所有资源(包括源码、模板、插件等)仅供学习与参考,请勿用于商业用途。
►如有其他问题,请加网站客服QQ(375750496)进行交流。
- 织梦CMS SQL注入漏洞 member/album_add.php 修复
- 解决{dede:field.body/}不分析问题
- 织梦CMS系统mcs升级最新版本方法和升级后出现的
- DEDE统计文章内容字数,织梦CMS系统调用正文字数
- 织梦CMS系统导航栏目顶级和二级判断二级输出不
- 织梦CMS系统批量修改栏目的保存目录和文章命名
- 织梦CMS系统上传图片提示缺少图像源文件地址
- 织梦CMS系统自概念表单区域联动种类不可用的解
- 织梦CMS系统首页列表页获得文章对应的tag标签
- 织梦CMS系统会员中心获得登录用户名与ID号的办法
- 织梦CMS系统栏目列表目录形式改成链接形式默认
- 织梦CMS系统导航栏目顶级和二级判断二级输出不