帝國(guó)EmpireCMS7.5最新后臺(tái)漏洞審計(jì)
創(chuàng)新互聯(lián)作為成都網(wǎng)站建設(shè)公司,專(zhuān)注重慶網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì),有關(guān)成都企業(yè)網(wǎng)站定制方案、改版、費(fèi)用等問(wèn)題,行業(yè)涉及廣告設(shè)計(jì)等多個(gè)領(lǐng)域,已為上千家企業(yè)服務(wù),得到了客戶的尊重與認(rèn)可。
1概述
最近在做審計(jì)和WAF規(guī)則的編寫(xiě),在CNVD和CNNVD等漏洞平臺(tái)尋找各類(lèi)CMS漏洞研究編寫(xiě)規(guī)則時(shí)順便抽空對(duì)國(guó)內(nèi)一些小的CMS進(jìn)行了審計(jì),另外也由于代碼審計(jì)接觸時(shí)間不是太常,最近一段時(shí)間也跟著公司審計(jì)項(xiàng)目再次重新的學(xué)習(xí)代碼審計(jì)知識(shí),對(duì)于入行已久的各位審計(jì)大佬來(lái)說(shuō),自己算是新手了。對(duì)于審計(jì)也正在不斷的學(xué)習(xí)和積累中。于是抽空在CNVD上選取了一個(gè)國(guó)內(nèi)小型CMS進(jìn)行審計(jì),此次審計(jì)的CMS為EmpireCMS_V7.5版本。從官方下載EmpireCMS_V7.5后進(jìn)行審計(jì),審計(jì)過(guò)程中主要發(fā)現(xiàn)有三處漏洞(應(yīng)該還有其他漏洞暫未審計(jì)):配置文件寫(xiě)入、后臺(tái)代碼執(zhí)行及后臺(tái)getshell,造成這幾處漏洞的原因幾乎是由于對(duì)輸入輸出參數(shù)未作過(guò)濾和驗(yàn)證所導(dǎo)致。
2前言
帝國(guó)網(wǎng)站管理英文譯為”EmpireCMS”,它是基于B/S結(jié)構(gòu),安全、穩(wěn)定、強(qiáng)大、靈活的網(wǎng)站管理系統(tǒng).帝國(guó)CMS 7.5采用了系統(tǒng)模型功能:用戶通過(guò)此功能可直接在后臺(tái)擴(kuò)展與實(shí)現(xiàn)各種系統(tǒng),如產(chǎn)品、房產(chǎn)、供求…等等系統(tǒng),因此特性,帝國(guó)CMS系統(tǒng)又被譽(yù)為“萬(wàn)能建站工具”;大容量數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì);高安全嚴(yán)謹(jǐn)設(shè)計(jì);采用了模板分離功能:把內(nèi)容與界面完全分離,靈活的標(biāo)簽+用戶自定義標(biāo)簽,使之能實(shí)現(xiàn)各式各樣的網(wǎng)站頁(yè)面與風(fēng)格;欄目無(wú)限級(jí)分類(lèi);前臺(tái)全部靜態(tài):可承受強(qiáng)大的訪問(wèn)量;強(qiáng)大的信息采集功能;超強(qiáng)廣告管理功能……
3代碼審計(jì)部分
拿到該CMS后先把握大局按照往常一樣先熟悉該CMS網(wǎng)站基本結(jié)構(gòu)、入口文件、配置文件及過(guò)濾,常見(jiàn)的審計(jì)方法一般是:通讀全文發(fā)(針對(duì)一些小型CMS)、敏感函數(shù)回溯法以及定向功能分析法,自己平常做審計(jì)過(guò)程中這幾個(gè)方法用的也比較多。在把握其大局熟悉結(jié)構(gòu)后,再通過(guò)本地安裝去了解該CMS的一些邏輯業(yè)務(wù)功能并結(jié)合黑盒進(jìn)行審計(jì),有時(shí)候黑盒測(cè)試會(huì)做到事半功倍。
常見(jiàn)的漏洞個(gè)人總結(jié)有:
1)程序初始化安裝
2)站點(diǎn)信息泄漏
3)文件上傳
4)文件管理
5)登陸認(rèn)證
6)數(shù)據(jù)庫(kù)備份
7)找回密碼
8)驗(yàn)證碼
若各位大佬在審計(jì)過(guò)程中還有發(fā)現(xiàn)其他漏洞可補(bǔ)充交流。
第一步:安裝時(shí)要修改數(shù)據(jù)表前戳
因?yàn)榈蹏?guó)cms也是國(guó)內(nèi)知名的開(kāi)源程序,很多人都對(duì)帝國(guó)CMS很熟悉,所以對(duì)安全也就成了威脅,特別是數(shù)據(jù)庫(kù),帝國(guó)CMS默認(rèn)的數(shù)據(jù)表都是相同的,所以我們?yōu)榱藬?shù)據(jù)庫(kù)的安全,我們要修改帝國(guó)安裝時(shí)的數(shù)據(jù)庫(kù)前綴表。(更改需要修改配置,大家自己百度下相關(guān)的修改方法)
數(shù)據(jù)庫(kù)表
第二步:修改后臺(tái)文件夾名稱(chēng)
一般帝國(guó)CMS都是 域名/e/admin 我們要將 admin修改為更復(fù)雜的文件名,不容易被別人輕易猜中后臺(tái),否則就會(huì)增加被攻擊的機(jī)率。
帝國(guó)后臺(tái)目錄
第三步:禁用admin賬戶
一般我們使用帝國(guó)cms只是修改一下密碼而已,其實(shí)這并不安全,最好自己新建立一個(gè)賬號(hào),禁用admin賬號(hào)。才會(huì)讓我們更加的安全一些。
禁用賬戶
第四步:設(shè)置登錄認(rèn)證碼和登錄問(wèn)題
我們退一步來(lái)講解,就算黑客暴力破解出了你的賬號(hào)密碼。你的后臺(tái)開(kāi)啟了認(rèn)證碼和登錄問(wèn)題,黑客也是登陸不上你后臺(tái)的,這對(duì)你的網(wǎng)站后臺(tái)安全起到了非常重要的作用。
登錄驗(yàn)證碼
第五步:?jiǎn)⒂镁W(wǎng)站安全防火墻。
帝國(guó)CMS網(wǎng)站安全防火墻是針對(duì)整站防護(hù)的,開(kāi)啟后會(huì)讓網(wǎng)站數(shù)據(jù)得到更加高的保障。
防火墻
配置“網(wǎng)站防火墻”有下面兩種方法:
1、后臺(tái)“系統(tǒng)設(shè)置”“網(wǎng)站防火墻”。
2、修改e/class/config.php文件配置。
下面講解一下相關(guān)設(shè)置的作用和使用:
1、防火墻加密密鑰:
此項(xiàng)必須設(shè)置,填寫(xiě)10~50個(gè)任意字符,最好多種字符組合。
并且建議每星期或每個(gè)月變更一次。
2、允許后臺(tái)登陸的域名:
設(shè)置只允許訪問(wèn)后臺(tái)的域名,域名綁定到網(wǎng)站根目錄,只有通過(guò)這個(gè)域名訪問(wèn)e/admin后臺(tái)才是被允許的。域名一般用網(wǎng)站的二級(jí)域名即可,如果為了更保險(xiǎn)也可綁定一個(gè)全新域名的二級(jí)域名。比如:網(wǎng)站域名:,而訪問(wèn)后臺(tái)域名則用
并且綁定的域名還支持增加端口,比如:,前提是服務(wù)器支持使用這個(gè)端口訪問(wèn)網(wǎng)站。綁定域名()后的訪問(wèn)后臺(tái)地址是:,而通過(guò)其他域名訪問(wèn)后臺(tái)都是空白。
3、允許登陸后臺(tái)的時(shí)間點(diǎn)、允許登陸后臺(tái)的星期:
方便工作時(shí)間工作的單位設(shè)置,使網(wǎng)站安全維護(hù)更容易把控,不讓用戶在工作時(shí)間外進(jìn)入后臺(tái)。如果緊急事件例外可以手動(dòng)修改e/class/config.php文件配置。
4、防火墻后臺(tái)預(yù)登陸驗(yàn)證變量名和防火墻后臺(tái)預(yù)登陸認(rèn)證碼
這兩項(xiàng)必須設(shè)置。預(yù)登陸驗(yàn)證變量名:可由英文字母+數(shù)字組成(必須是字母開(kāi)頭),5~20個(gè)字符組成。
預(yù)登陸認(rèn)證碼:填寫(xiě)10~50個(gè)任意字符,最好多種字符組合。并且建議每星期或每個(gè)月變更一次。
5、屏蔽提交敏感字符:
此功能是安全防火墻的核心,可對(duì)前臺(tái)用戶所有錄入的信息進(jìn)行安全過(guò)濾。通常設(shè)置php、mysql等攻擊的相關(guān)字符。比如:sql注入通常會(huì)用到的字符:select,outfile,union,delete,insert,update,replace,sleep,benchmark,load_file,create。
帝國(guó)防火墻
第六步:網(wǎng)站服務(wù)器安裝防御軟件
我們之前也講解過(guò),可以安裝云鎖、網(wǎng)站安全狗這類(lèi)的軟件,第一可以防止暴力破解,第二可以防止惡意篡改頁(yè)面,第三可以防止dos、cc等流量攻擊。
云鎖防護(hù)
帝國(guó)CMS刪除不需要的功能
如果我們的網(wǎng)站不需要帝國(guó)CMS的某項(xiàng)功能我們可以進(jìn)行刪除,不單單可以提高運(yùn)行速度,減少占用空間,還可以避免黑客利用這些文件進(jìn)行上傳木馬,具體怎么做那,如下:
首先:后臺(tái)-系統(tǒng)-系統(tǒng)參數(shù)設(shè)置-關(guān)閉相應(yīng)的模塊 “先關(guān)閉對(duì)應(yīng)的模塊”
1、不使用下載系統(tǒng)模型
(1)、刪除e/DownSys目錄;
(2)、修改e/class/DownSysFun.php文件,文件第二行加exit();
修改后保存文件即可。
2、不使用商城系統(tǒng)模型
(1)、刪除e/ShopSys目錄;
(2)、修改e/class/ShopSysFun.php文件,文件第二行加 exit();
修改后保存文件即可。
3、不使用評(píng)論功能
(1)、刪除e/pl目錄;
(2)、修改e/enews/plfun.php文件,文件第二行加 exit();
修改后保存文件即可。
4、不使用留言板功能
(1)、刪除e/tool/gbook目錄;
(2)、修改e/enews/gbookfun.php文件,文件第二行加 exit();
修改后保存文件即可。
5、不使用投票功能
(1)、刪除e/tool/vote和e/public/vote目錄;
(2)、修改e/enews/votefun.php文件,文件第二行加 exit();
修改后保存文件即可。
6、不使用會(huì)員取回密碼和激活帳號(hào)功能
(1)、刪除e/member/GetPassword目錄;
(2)、修改e/class/qmemberfun.php文件,文件第二行加 exit();
修改后保存文件即可。
7、除了admin、class、data、enews、message目錄外,不使用的功能可以直接刪除。
不使用前臺(tái)動(dòng)態(tài)信息頁(yè)面:直接刪除e/action目錄
不使用前臺(tái)投稿功能:直接刪除e/DoInfo目錄
不使用前臺(tái)打印功能:直接刪除e/DoPrint目錄
不使用在線支付接口功能:直接刪除e/payapi目錄
不使用全站全文搜索功能:直接刪除e/sch目錄
不使用搜索功能:直接刪除e/search目錄
不使用會(huì)員空間功能:直接刪除e/space目錄
不使用tags列表功能:直接刪除e/tags目錄
不使用wap功能:直接刪除e/wap目錄
不使用RSS功能:直接刪除e/web目錄
帝國(guó)CMS安全防護(hù)就講解到這里,對(duì)于帝國(guó)CMS來(lái)說(shuō),已經(jīng)非常安全,我們刪除下方插件代碼的意思為:代碼越少,越精簡(jiǎn),漏洞也就越少,我們不需要的功能可以直接刪除掉,一面給我們帶來(lái)不必要的安全隱患。
整體來(lái)說(shuō)織夢(mèng)cms對(duì)于大多數(shù)來(lái)說(shuō),會(huì)比帝國(guó)cms好用一些,更容易用來(lái)建站。
織夢(mèng)cms比帝國(guó)cms免費(fèi)模板更多。dedecms的免費(fèi)模板還是比較多的,這個(gè)得益于廣大的dede用戶共享。
織夢(mèng)cms更受歡迎。論壇的人氣,帝國(guó)CMS和dedecms的人氣還都可以,熱心程度感覺(jué)帝國(guó)CMS比dedecms高些。
織夢(mèng)cms版本的更新更快,帝國(guó)以大版本形式更新,dedecms以小版本形式更新,總體來(lái)說(shuō)dede版本快于帝國(guó)。
安全性方面帝國(guó)cms更佳:dedecms關(guān)注的人比較多,市場(chǎng)占有率相當(dāng)?shù)母撸蚨蔀楹诳偷膾祚R對(duì)象,入侵率比較高,容易被黑,而帝國(guó)CMS而言安全方面則比較好。
綜上所述,更多人傾向于織夢(mèng)cms,而且網(wǎng)站模板素材也有很多的源碼程序可以下載??赡芤灿屑夹g(shù)博客沒(méi)有說(shuō)到的,不過(guò)對(duì)于個(gè)人來(lái)講,適合的才是最好的,如果你喜歡追求完美,那么只能自己去寫(xiě)一個(gè)了。沒(méi)有最好的cms,只有最合適自己的CMS。