一、漏洞描述
EmpireCMS 7.5版本及之前版本在後台備份數據庫時(shí),未對(duì)數據庫表名做(zuò)驗證,通(tōng)過修改數據庫表名可(kě)以實現任意代碼執行。
二、影(yǐng)響版本
EmpireCMS<=7.5
三、環境搭建
1、官方下(xià)載EmpireCMS V7.5 下(xià)載地址:http://www.phome.net/download/
2、把下(xià)載的(de)文件中的(de)upload下(xià)的(de)所有目錄和(hé)文件放入到網站根目錄下(xià)
3、修改php.ini配置文件, PHP環境中必須開啓短标簽,不然安裝會提示無法安裝
4、設置php.ini中 short_open_tag = On,重啓phpstudy
5、然後開始安裝,安裝過程參考: https://jingyan.baidu.com/article/48b37f8dcc014b1a6564887c.html
四、漏洞複現
1、查看代碼e/admin/ebak/phome.php接收備份數據庫傳遞的(de)參數,然後傳遞給Ebak_DoEbak函數中。
2、跟進Ebak_DoEbak函數所在的(de)位置,可(kě)以看到将數據庫表名傳遞給變量$tablename。
3、繼續浏覽代碼,可(kě)以看到如下(xià)代碼,遍曆表名并賦值給$b_table、$d_table,使用(yòng)RepPostVar函數對(duì)表名進行處理(lǐ),其中$d_table拼接成$tb數組時(shí)沒有對(duì)鍵值名添加雙引号。
4、在生成config.php文件的(de)過程中,對(duì)于$d_table沒有進行處理(lǐ),直接拼接到生成文件的(de)字符串中,導緻任意代碼執行漏洞。
5、訪問後台
6、按下(xià)圖依次點擊,要備份的(de)數據表選一個(gè)就好
7、點擊”開始備份”,burp抓包,修改tablename參數的(de)值
8、可(kě)以看到響應的(de)數據包,成功備份
9.查看備份的(de)文件
10.訪問備份目錄下(xià)的(de)config.php,可(kě)以看到成功執行phpinfo
11、這(zhè)時(shí)查看config.php文件
分(fēn)享到:
“贛州深網www.gzsw.net.cn”是贛州阿桃網絡科技有限公司所擁有的(de)互聯網服務品牌。公司主要緻力于向廣大(dà)用(yòng)戶提供優質的(de)互聯網基礎服務。公司擁有一支由資深技術專家、優秀的(de)管理(lǐ)、服務人(rén)才組成的(de)運營團隊,有著(zhe)多(duō)年的(de)互聯網運營服務從業經驗。公司先後與國内多(duō)家知名互聯服務企業合作,取得(de)了(le)矚目的(de)成績,資源、技術優勢得(de)到進一步提升。深網爲企業、政府、組織提供網站開發設計、域名注冊、網站主機、網站SEO優化(huà)、微站、公衆号平台、小程序開發等。 聯系電話(huà):137-6633-3304