帝國CMS(EmpireCMS) v7.5后台任意代碼執行


帝國CMS(EmpireCMS) v7.5后台任意代碼執行

一、漏洞描述

EmpireCMS 7.5版本及之前版本在后台備份數據庫時,未對數據庫表名做驗證,通過修改數據庫表名可以實現任意代碼執行。

二、影響版本

EmpireCMS<=7.5

三、環境搭建

1、官方下載EmpireCMS V7.5 下載地址:http://www.phome.net/download/

2、把下載的文件中的upload下的所有目錄和文件放入到網站根目錄下

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接收備份數據庫傳遞的參數,然后傳遞給Ebak_DoEbak函數中。

  

2、跟進Ebak_DoEbak函數所在的位置,可以看到將數據庫表名傳遞給變量$tablename。

  

3、繼續瀏覽代碼,可以看到如下代碼,遍歷表名並賦值給$b_table、$d_table,使用RepPostVar函數對表名進行處理,其中$d_table拼接成$tb數組時沒有對鍵值名添加雙引號。

  

4、在生成config.php文件的過程中,對於$d_table沒有進行處理,直接拼接到生成文件的字符串中,導致任意代碼執行漏洞。

  

5、訪問后台

  

6、按下圖依次點擊,要備份的數據表選一個就好

  

7、點擊”開始備份”,burp抓包,修改tablename參數的值

  

8、可以看到響應的數據包,成功備份

  

9.查看備份的文件

  

10.訪問備份目錄下的config.php,可以看到成功執行phpinfo

  

11、這時查看config.php文件

  

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM