eSafe白帽駭客資安網-網絡安全背後的巨人,提供駭客,網站入侵測試,網站被駭,網站漏洞,駭客入侵,資訊安全,入侵,ecshop,wordpress,漏洞修復,木馬清除,資安服務

PublicCMS 網站漏洞 任意文件寫入並可提權主機權限



        PublicCMS是目前網站系統中第一個採用JAVA架構 TOMCAT+Apcche+Mysql數據庫
 
架構的CMS網站,開源,數據承載量大,可以承載到上千萬的數據量,以及用戶的網站並發可

達到上千萬的PV,PublicCMS靜態全站html,訪問速度極快,模板樣式
多,可自己設計,第三

方的API接口也很多,深受網站運營者的喜歡。最重要的是
開源,免費升級,支持動靜分離,數

據庫及時備份等功能。

 
 
eSafe白帽資安網於最近對該PublicCMS的系統進行全面代碼安全檢測,發現該PublicCMS系統存在網站

漏洞,該漏洞可以對網站的任意目錄下上傳任意格式的文件,比如jar
格式,JSP格式,war格式

的腳本木馬。下面針對於PublicCMS,我們進行詳細的分
析以及漏洞的如何利用。
 
 
我們首先來搭建該系統的網站環境,使用Apache +Tomcat+Mysql數據庫的一鍵安裝環境包進

行搭建,可以使用phpstudy來搭建,快捷,方便,穩定,可以隨時切換服
務器的環境版本,以

及架構。

搭建好後,我們先登錄下網站的後台,如下圖:

 
 
從上面後台裡可以看出我們的網站目錄路徑是放在C:\omcatapache-tomcat

-
7.0.81\webapps\publiccms\文件夾下,之前我們對網站的上傳目錄測試了一下,正常會上傳到

不是網站的根目錄下,而是其他的文件夾裡,是C:\omcatapache-
tomcat-7.0.81\uploads文件

夾裡,這個目錄不是對外訪問的,網站訪問不到的,
只可以加載。

 
那麼怎樣才能上傳到任意文件夾下呢? 比如我要上傳到網站的根目錄下該怎麼弄呢?因為Public

CMS存在可以構造zip文件,並指定解壓到任意目錄。我們來構造一
下ZIP,創建一個文件,名

稱為:../../../../../../../../apache-tomcat-
7.0.81/webapps/publiccms/safe.jsp,然後通過後台上

傳上去即可。
上傳後我們訪問網站根目錄下safe.jsp 直接執行命令如下圖:

 
PublicCMS網站漏洞是如何產生的呢?

 
controller目錄下\admin\cms\CmsWebFileAdminController.java代碼裡的uzip調用方式上出

現了漏洞,該系統採用的是dounzip的方式去調用,dounzip是解壓縮常
用到的,所以上傳ZIP文

件的時候,自動解壓縮了。導致我們可以構造特殊的文件
名,來將我們的腳本木馬上傳到網站

任意目錄下。


 
 
該代碼通過獲取targetPath的上傳路徑值與壓縮文件裡的名字進行自動拼接,在拼接的這個過程

當中,../ 可以對目錄進行跨站。網站漏洞產生最根本的原因就是在
處理這個壓縮文件的時候並

沒有對壓縮裡的文件名進行判斷與過濾,導致可以使用
特殊的文件名進行定義,並傳入到主機

後端執行代碼,通過上傳JSP木馬後門,
可以直接對主機進行控制,危害性較高。
 
 
關於PublicCMS網站漏洞修復
 
已講該漏洞報告給PublicCMS官方(天津黑核科技有限公司),並告知漏洞產生的具體細節,官

方已對該漏洞進行了修復,請使用該PublicCMS網站的客戶,盡快升
級到最新版本即可。
分享: