加入vip [簽到送金幣]
                      注冊 登錄 QQ登錄
                      織夢無憂,用心做好源碼!7年品牌,值得信賴! 織夢無憂,個個精品,寧缺毋濫!每月購買不少于3000元精品源碼免費分享,早開通,早享受!終身會員臨時大促,只需要128元!新會員開通,直接進入會員中心--購買會員--直接開通即可。

                      最新織夢cms漏洞之安全設置,有效防護木馬(更新至20190920)

                      摘要: 織夢CMS在安裝完成后,新人往往會直接開始開發使用,忽視了一些安全優化的操作,這樣會導致后期整個系統安全系數降低,被黑或者被注入的概率極高,畢竟這世界百分百存在著極多的無聊hacker對全網的網站進行掃描,掃到你這個菜站,尤其是使用率極高的DEDECMS

                      最新織夢cms漏洞之安全設置,有效防護木馬(更新至20190402)

                      織夢CMS在安裝完成后,新人往往會直接開始開發使用,忽視了一些安全優化的操作,這樣會導致后期整個系統安全系數降低,被黑或者被注入的概率極高,畢竟這世界百分百存在著極多的無聊hacker對全網的網站進行掃描,掃到你這個菜站,尤其是使用率極高的DEDECMS,對你的站點下手的欲望更高,所以在開發前做好安全防范還是很有必要的!

                      安全設置前:備份網站文件及數據庫

                      系統安全優化設置之前,做好備份工作。網站備份是網站維護必須必學基礎。

                      安全設置一:刪文件

                      安裝完成后會有一些文件,可以說是冗余文件,完全沒有作用,反而帶來被黑的危險,刪除即可,以下目錄文件均可刪除:

                      目錄 刪除原因
                      /install 安裝后的余留文件,沒用,整個文件夾刪除
                      /member 會員功能文件,大數企業站沒用,文件夾刪除,若需要會員功能的就不能刪
                      /special 專題功能,如果你不需要這個功能,文件夾刪除,需要就別刪,大部分是不需要的
                      /tags.php TAG標簽,沒有此功能可刪除
                      網站后臺目錄dede要刪除的文件 刪除原因
                      /dede/tpl.php 文件上傳管理系統文件,易被掛馬,強烈建議刪除或者不用時請改名(tpl備用.php)
                      /dede/templets_*.php 模板管理功能,老手建議刪除,使用FTP管理
                      /dede/media_*.php 附件數據管理功能文件,易被掛馬,刪除(用你的FTP管理文件就可以了,別用這個)
                      /dede/file_*.php 文件式管理器功能控制器文件,易被掛馬,刪除(用你的FTP管理文件就可以了,別用這個)
                      /dede/mytag_*.php、mytag_tag_*.php 自定義標記管理,易被上傳一句話木馬
                      /dede/story_*.php 小說功能,可刪除
                      /dede/erraddsave.php 糾錯功能,可刪除
                      /dede/feedback_*.php 評論管理,可刪除
                      /dede/group_*.php 圈子功能,很少用到,可刪除
                      /dede/co_*.php 采集控制文件,可刪除
                      /dede/cards_*.php 點卡功能功能,可刪除
                      /dede/ad_*.php 廣告管理添加/刪除文件,企業站一般不用可刪除
                      /dede/spec_*.php 專題管理,沒有專題頁面,可刪除
                      /dede/vote_*.php 投票功能,可刪除
                      /dede/sys_sql_query.php SQL命令運行器,不需要的話可以改名為(sys_sql_query安全禁用.php)也可以刪除

                       

                      目錄/plus要刪除的文件 刪除原因(正常的企業站可以只保留list.php、view.php、count.php、search.php、diy.php(企業站經常用到的表單)五個文件以及img文件夾,其他全部刪除)
                      /plus/guestbook 留言簿模塊,整體刪除,容易SQL注入及垃圾留言,
                      /plus/task和task.php 計劃任務控制文件,文件夾和文件都刪除
                      /plus/bookfeedback.php、bookfeedback_js.php 圖書評論和評論調用文件,存在注入漏洞,不安全
                      /plus/bshare.php 分享插件
                      /plus/ad_js.php 廣告插件,新聞資訊站用到的,請勿刪除
                      /plus/car.php、posttocar.php、carbuyaction.php 購物車
                      /plus/comments_frame.php 調用評論,存在安全漏洞
                      /plus/digg_ajax.php、digg_frame.php 頂踩
                      /plus/download.php、disdls.php 下載和次數統計
                      /plus/erraddsave.php 糾錯
                      /plus/feedback.php、feedback_ajax.php、feedback_js.php 評論
                      /plus/stow.php 內容收藏
                      /plus/vote.php 投票

                      安全設置二:后臺目錄及賬號密碼修改

                      ①網站后臺文件改名:默認后臺目錄是/dede,需要將這個文件夾的名稱修改,比如改為WangZhan123@+,那么后臺登陸地址就由www.xxx.com/dede變為www.xxx.com/WangZhan123@+,(不定期更改一下)

                      ②后臺登錄密碼請勿使用admin。

                      安全設置三:目錄權限設置

                      ①有條件的用戶把中 data、templets、uploads、a(可刪)、special(可刪)、images、install(裝后刪)目錄設置為不允許執行腳本,include、plus、dede目錄禁止寫入,系統將更安全;

                      ②權限設置一般通過主機控制面板,比如阿里云的文件和目錄權限設置、西部數碼的文件保護等等。

                      ③老版本若登錄后臺提示驗證碼錯誤,選中/data目錄,將權限設置為完全控制(可讀可寫)權限

                      最新織夢cms漏洞之安全設置,有效防護木馬(更新至20190920)

                      安全設置四:主機安全防護

                      主機安全防護只針對獨立服務器或者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行)

                      return $svar;
                      修改為
                      return addslashes($svar);


                       ②、漏洞文件 /plus/search.php (大概在109行)

                      $keyword = addslashes(cn_substr($keyword,30));
                      修改為
                      $typeid = intval($typeid); $keyword = addslashes(cn_substr($keyword,30));

                      ③、漏洞文件 /member/mtypes.php (大概在71行)

                      $query = "UPDATE `dede_mtypes` SET mtypename='$name' WHERE mtypeid='$id' AND mid='$cfg_ml->M_ID'";
                      修改為
                      $id = intval($id); $query = "UPDATE `dede_mtypes` SET mtypename='$name' WHERE mtypeid='$id' AND mid='$cfg_ml->M_ID'";

                      ④、漏洞文件 /member/pm.php文件 (大概在65行)

                      $row = $dsql->GetOne("SELECT * FROM `dede_member_pms` WHERE id='$id' AND (fromid='{$cfg_ml->M_ID}' OR toid='{$cfg_ml->M_ID}')");
                      修改為
                      $id = intval($id); $row = $dsql->GetOne("SELECT * FROM `dede_member_pms` WHERE id='$id' AND (fromid='{$cfg_ml->M_ID}' OR toid='{$cfg_ml->M_ID}')");
                      

                      ⑤、漏洞文件 /plus/guestbook/edit.inc.php (大概在55行)

                      $dsql->ExecuteNoneQuery("UPDATE `dede_guestbook` SET `msg`='$msg', `posttime`='".time()."' WHERE id='$id' ");
                      修改為
                      $msg = addslashes($msg); $dsql->ExecuteNoneQuery("UPDATE `dede_guestbook` SET `msg`='$msg', `posttime`='".time()."' WHERE id='$id' ");;

                      ⑥、漏洞文件 /member/soft_add.php (大概在154行)

                      $urls .= "{dede:link islocal='1' text='{$servermsg1}'} $softurl1 {/dede:link}
                      ";
                      修改為     
                      if (preg_match("#}(.*?){/dede:link}{dede:#sim", $servermsg1) != 1) 
                      { $urls .= "{dede:link islocal='1' text='{$servermsg1}'} $softurl1 {/dede:link}
                      "; }

                      ⑦、漏洞文件 /member/article_add.php (大概在83行,cookies泄漏導致SQL漏洞)

                      if (empty($dede_fieldshash) || $dede_fieldshash != md5($dede_addonfields.$cfg_cookie_encode))
                      修改為
                      if (empty($dede_fieldshash) || ( $dede_fieldshash != md5($dede_addonfields . $cfg_cookie_encode) && $dede_fieldshash != md5($dede_addonfields . 'anythingelse' . $cfg_cookie_encode))) 

                      ⑧、漏洞文件 /member/album_add.php (大約220行,對輸入參數mtypesid未進行int整型轉義,導致SQL注入發生)

                      $description = HtmlReplace($description, -1);//2011.06.30 增加html過濾 (by:織夢的魚)
                      修改為
                      $description = HtmlReplace($description, -1);//2011.06.30 增加html過濾 (by:織夢的魚)
                      $mtypesid = intval($mtypesid);

                      ⑨、漏洞文件 /member/inc/inc_archives_functions.php (大概在239行,cookies泄漏導致SQL漏洞)

                      echo "<input type="hidden" name="dede_fieldshash" value="".md5($dede_addonfields.$cfg_cookie_encode)."" />";
                      修改為
                      echo "<input type="hidden" name="dede_fieldshash" value="". md5($dede_addonfields . 'anythingelse' .$cfg_cookie_encode) ."" />";

                      ⑩、漏洞文件 /include/common.inc.php (SESSION變量覆蓋導致SQL注入漏洞,最新的版本中已經修復)

                      if( strlen($svar)>0 && preg_match('#^(cfg_|GLOBALS|_GET|_POST|_COOKIE)#',$svar) )
                      修改為
                      if( strlen($svar)>0 && preg_match('#^(cfg_|GLOBALS|_GET|_POST|_COOKIE|_SESSION)#',$svar) )


                      ⑪、漏洞文件 /include/payment/alipay.php (支付模塊注入漏洞,此漏洞織夢官方在最新的版本中已經修復)

                      $order_sn = trim($_GET['out_trade_no']);
                      修改為
                      $order_sn = trim(addslashes($_GET['out_trade_no']));

                      ⑫、漏洞文件 /include/dedesql.class.php (大概在590行)

                      if(isset($GLOBALS['arrs1']))
                      修改為
                      $arrs1 = array(); $arrs2 = array(); if(isset($GLOBALS['arrs1']))

                      ⑬、漏洞文件 /member/inc/archives_check_edit.php (大概第92行,dedecms前臺任意文件刪除(需要會員中心),發表文章處,對于編輯文章的時候圖片參數處理不當,導致了任意文件刪除)

                      $litpic =$oldlitpic;
                      修改為
                      $litpic =$oldlitpic; 
                      if (strpos( $litpic, '..') !== false || strpos( $litpic, $cfg_user_dir."/{$userid}/" ) === false) exit('not allowed path!');

                      安全設置五:無用文件中的風險代碼刪除

                      ①  dede empletslogin_ad.htm(這是織夢默認后臺登陸界面的廣告代碼,沒用,刪除以下這段代碼)

                      <!--<script type="text/javascript" src="<?php echo UPDATEHOST;?>/dedecms/loginad.<?php echo $cfg_soft_lang; ?>.js"></script>-->
                      <div class="dede-ad">
                        <ul>
                          <script type="text/javascript"src="http://ad.dedecms.com/adsview/?action=single&key=admcploginad&charset=gbk"></script>
                        </ul>
                      </div>

                      ② dede empletsindex_body.htm(織夢的后臺首頁模板文件,刪除以下這段廣告代碼)

                      <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(向織夢官網發送卸載或安裝插件的信息,若服務器配置不高,或不支持采集(下載),那會卡死!注釋掉以下代碼)

                      SendData($hash);//321行
                      SendData($hash,2);//527行

                      ④ include aglib link.lib.php(織夢官方友鏈上傳的代碼,沒有用,刪除,否則占用性能,甚至卡死)

                      else if($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 文件來設置,如果你網站根目錄已經存在這個文件,那就復制一下代碼添加進去。

                      RewriteEngine on
                      #安全設置 禁止以下目錄運行指定php腳本
                      RewriteCond % !^$
                      RewriteRule a/(.*).(php)$ – [F]
                      RewriteRule data/(.*).(php)$ – [F]
                      RewriteRule templets/(.*).(php|htm)$ – [F]
                      RewriteRule uploads/(.*).(php)$ – [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 ~* /(a|data|templets|uploads)/(.*).(php)$ {
                      return 403;
                      }


                      測試有沒有生效,可以隨便創建一個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}代碼加入了識別!

                      軟件加入隔離功能,并且可以還原!

                      如有不能識別的webshell請使用上傳樣本功能上傳給我們,我們將后期加入識別!

                      下載:http://www.d99net.net/down/WebShellKill_V1.4.1.zip

                      D盾查殺工具

                      更新于2020-01-01,后期有更新,將會持續更新本文


                      上一篇:

                      下一篇:沒有了

                      本文鏈接:http://www.jopadei.com//dedecmsjiaocheng/anzhuangshiyong/180674.html

                      版權聲明:本站資源均來自互聯網或會員發布,如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除!謝謝!

                      公眾號二維碼

                      微信公眾號

                      //自動推送 亚洲 欧美 校园 春色 小说-国产午夜福利在线观看视频-免费三级现频在线观看免费-日本av在线播放