1. 程式人生 > >帝國CMS(EmpireCMS) v7.5配置檔案寫入漏洞分析

帝國CMS(EmpireCMS) v7.5配置檔案寫入漏洞分析

帝國CMS(EmpireCMS) v7.5配置檔案寫入漏洞分析

一、漏洞描述

該漏洞是由於安裝程式時沒有對使用者的輸入做嚴格過濾,導致使用者輸入的可控引數被寫入配置檔案,造成任意程式碼執行漏洞。

二、漏洞復現

1、漏洞出現位置如下圖,phome_表字首沒有被嚴格過濾導致攻擊者構造惡意的程式碼

  

2、定位漏洞出現的位置,發現在/e/install/index.php,下圖可以看到表名字首phome_,將獲取表名字首交給了mydbtbpre引數。

  

3、全文搜尋,$mydbtbpre,然後跟進引數傳遞,發現將使用者前端輸入的表字首替換掉後帶入了sql語句進行表的建立,期間並沒有對前端傳入的資料做嚴格的過濾

  

  

4、建立表的同時將配置資料和可以由使用者控制的表字首一起寫入到config.php配置檔案

  

5、通過對整個install過程的程式碼分析,可以發現沒有對使用者資料進行過濾,導致配置檔案程式碼寫入。

5.1、burp對漏洞存在頁面進行抓包,修改phome引數的值,構造payload,payload如下:

‘;phpinfo();//

5.2、在burp中的phome引數的值中輸入特殊構造的payload

  

6、檢視config.php配置檔案,發現成功寫入配置檔案

  

7、再次訪問安裝結束的頁面, http://192.168.10.171/empirecms/e/install/index.php?enews=moddata&f=4&ok=1&defaultdata=1

  

8、構造特殊的payload getshell

  

9、菜刀連線,成功getshell

  

 

 

 

----------------------------------------------------------------------------------------------------------------------

參考資料:https://qclover.github.io/2018/10/10/EmpireCMS_V7.5%E7%9A%84%E4%B8%80%E6%AC%A1%E5%AE%A1%E8%AE%A1.html