織夢安全防護(hù)教程首頁被挾持、被串改、被掛馬、被入侵后解決辦法:
第一步:備份
1-1、后臺(tái)-系統(tǒng)-數(shù)據(jù)庫備份/還原,數(shù)據(jù)備份。
1-2、打包整站下載到你電腦上來,防止被改壞了無法還原回來。打包可以利用主機(jī)面板的打包功能,快速又方便。
第二步:最新織夢
http://www.dedecms.com/products/dedecms/downloads/ [官網(wǎng)] 下載對應(yīng)編碼的最新織夢程序包
第三步:刪除最新織夢程序包那些沒用的又容易被掛馬入侵的程序文件
3-1、刪除以下文件夾和文件
member 會(huì)員文件夾整個(gè)刪除
special 專題文件夾整個(gè)刪除
install 安裝文件夾整個(gè)刪除
robots.txt 文件刪除
3-2、刪除 /templets/default 官方默認(rèn)模板這個(gè)文件夾
3-3、plus 文件夾除了以下 1個(gè)文件夾 和 5個(gè)php文件,其他的文件統(tǒng)統(tǒng)刪除
/plus/img (這個(gè)文件夾)
/plus/count.php
/plus/diy.php
/plus/list.php
/plus/search.php
/plus/view.php
3-4、把 dede 后臺(tái)文件夾改名,改復(fù)雜一點(diǎn),改成爹媽都不認(rèn)識(shí)它。
第四步:修復(fù)剛剛下載的織夢最新程序包里已知漏洞
4-1、打開 /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("你指定的文件名被系統(tǒng)禁止!",'javascript:;');
exit();
}
4-2、打開 /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("你指定的文件名被系統(tǒng)禁止!",'java script:;');
exit();
}
第五步:從第一步的整站備份文件夾里檢查 模板 和 文檔圖片文件夾 是否有掛馬和后門等可疑文件或代碼
這一步需要一點(diǎn)專業(yè)知識(shí),如果你實(shí)在不懂,就到群里虛心請教,遇到可疑的地方截圖請教別人,慢慢見的后門和木馬代碼多了,你就離成為大神不遠(yuǎn)了。
5-1、每一個(gè)跟模板有關(guān)的js文件都要一一打開來細(xì)心檢查,因?yàn)閽祚R很多在js文件中,不然你前面和后面的工作都白做了。
5-2、每一個(gè)跟模板有關(guān)的css 和 images 文件夾下都要細(xì)心檢查是否有后門文件,除了圖片文件、css文件、字體文件,其他的一律刪除,刪錯(cuò)了也不用擔(dān)心,有整站打包的備份在。
5-3、每一個(gè)模板htm文件都要細(xì)心檢查是否有掛馬代碼存在,檢查你的模板文件夾里是否有后門文件,比如php文件,asp文件,其他可疑的格式文件一律刪除,刪錯(cuò)了也不用擔(dān)心,有整站打包的備份在。
5-4、你備份文件中的文檔圖片文件夾 uploads 文件夾,每一個(gè)文件夾都要打開,都要細(xì)心檢查是否有后門文件,除了圖片文件和你的附件,其他的一律刪除,刪錯(cuò)了也不用擔(dān)心,有整站打包的備份在。
5-5、/data/common.inc.php 和 /data/config.cache.inc.php 一會(huì)配合打包要用到,所以也要檢查。
5-6、/include/extend.func.php 可能有二次開發(fā)的自定義方法在里面,所以也要檢查。
5-7、其他你曾經(jīng)二次開發(fā)修改過的文件。
第六步:把第五步處理過的以下文件和文件夾復(fù)制到你第一步處理過的官方最新程序而且刪除和修復(fù)漏洞的那個(gè)文件夾對應(yīng)的位置里
/data/common.inc.php
/data/config.cache.inc.php
/include/extend.func.php
/templets/你的模板文件夾
/uploads
其他你曾經(jīng)二次開發(fā)修改過的文件
還有可能你的模板關(guān)聯(lián)的css 和 js 和 images圖片,這個(gè)自己看著辦,復(fù)制進(jìn)來后,打包本地整好的文件
第七步:清空線上網(wǎng)站所有文件,上傳本地整好的文件包
7-1、把主機(jī)里現(xiàn)在網(wǎng)站里的所有文件清空,不需要到mysql清除數(shù)據(jù)哦。虛擬主機(jī)的小伙伴可以借助主機(jī)面板一鍵清空,省事又干凈。
7-2、把剛剛整理好的最新程序打包上傳到主機(jī)里解壓出來,不需要重新安裝哦
7-3、登錄網(wǎng)站后臺(tái),打開 系統(tǒng)-系統(tǒng)設(shè)置-基本參數(shù),點(diǎn)擊確認(rèn)一次,再去生成全站。
第八步:利用偽靜態(tài)功能禁止以下目錄運(yùn)行php腳本
linux主機(jī)的用戶一般都是apache環(huán)境,使用 .htaccess 文件來設(shè)置,如果你網(wǎng)站根目錄已經(jīng)存在這個(gè)文件,那就復(fù)制一下代碼添加進(jìn)去,沒有這個(gè)文件的小伙伴可以下載下來放進(jìn)去
RewriteEngine on
#安全設(shè)置 禁止以下目錄運(yùn)行指定php腳本
RewriteCond % !^$
RewriteRule a/(.*).(php)$ – [F]
RewriteRule data/(.*).(php)$ – [F]
RewriteRule templets/(.*).(php|htm)$ – [F]
RewriteRule uploads/(.*).(php)$ – [F]
windows主機(jī)的用戶一般都是iis7、iis8環(huán)境,使用 web.config 文件來設(shè)置,請確認(rèn)你的主機(jī)已經(jīng)開啟了偽靜態(tài)而且網(wǎng)站根目錄有 web.config 文件,有這個(gè)文件的可以復(fù)制以下代碼添加到對應(yīng)的rules內(nèi),沒有這個(gè)文件的小伙伴可以下載下來放進(jìn)去
<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下禁止指定目錄運(yùn)行PHP腳本
注意:這段配置文件一定要放在 location ~ .php(.*)$ 的前面才可以生效,配置完后記得重啟Nginx生效。
location ~* /(a|data|templets|uploads)/(.*).(php)$ {
return 403;
}
寶塔面板的在配置文件里找到PHP引用配置
第八步尤其重要,如何驗(yàn)證第八步是否生效呢
用 Noptepad++ 或者 Sublime Text 或者 Dreamweaver 新建一個(gè)php文件,名為1.php,里面隨便打幾個(gè)數(shù)字即可
上傳到你網(wǎng)站的 uploads 文件夾里,然后在瀏覽器上打開 http://域名/uploads/1.php
這樣提示表示生效了
如果是能正常顯示你寫的數(shù)字,那表示沒生效,有風(fēng)險(xiǎn),想辦法讓它生效吧。
版權(quán)聲明: 本站資源均來自互聯(lián)網(wǎng)或會(huì)員發(fā)布,如果侵犯了您的權(quán)益請與我們聯(lián)系,我們將在24小時(shí)內(nèi)刪除!謝謝!
轉(zhuǎn)載請注明: 織夢安全防護(hù)教程首頁被快照挾持、被串改、被掛馬、被入侵后解決