自上個月PHPCMS2008 SP3爆出了「企業黃頁」的盲注漏洞後,目前程序已經升級到了的SP4,但惋惜的是SP4還沒公佈幾天,就有人發現了PHPCMS SP4存在的安全漏洞,並且還不止一個,一會兒就被發現了4個漏洞!這4個漏洞分別是下載任意文件漏洞、暴路徑漏洞、刪除任意文件漏洞以及注入漏洞,本文咱們就來詳細的瞭解一下這些漏洞以及利用方法。
1、下載任意文件漏洞
我從官方網站下載了存在漏洞的phpcms sp4_gbk,在虛擬機的PHP環境中把程序安裝了起來,訪問地址爲。
PHPCMS SP4的這四個漏洞都是由Jannock發現的,如下就是Jannock對該漏洞的簡單分析,其實不光是在IIs存在該漏洞,在APACHE下也一樣存在該漏洞的。存在漏洞的文件爲「commment\down.php」,具體的語句就是第12行的「if(preg_match('/\.php$/',$f)|| strpos($f,"\\"))showmessage('地址有誤');」,只判斷了文件後輟PHP,但沒有考慮到在Windows系統中,文件名爲「xx.php」(後面多了一個空格)也會被認爲是xx.php文件的狀況,所以利用這個判斷不徹底的缺陷,當PHPCMS運行在Windows系統下時,咱們就能夠下載任意的文件。
下面來看漏洞的利用過程,咱們首先須要註冊一個用戶,我註冊了一個用戶test,註冊成功後點擊「會員中心」,在會員中心點擊「信息管理」,在「下載」處添加
一個下載。
這裏我在「辦公軟件」中添加了一個下載,點擊「發佈」按鈕後就來到了添加下載的地方,「標題」和「描述」能夠隨便填寫,我填寫的都爲test,「下載列表」就填寫「hackerxfileslinclude/config.inc.php%201」,點擊「肯定」按鈕後就添加了一個下載,添加的下載要等管理員審覈經過後別人才能看到,但咱們不用等待管理員審覈經過就能利用這個漏洞,點擊「信息管理」中的「待審」,就看到了咱們等待審覈的那個下載。
點擊「管理」,而後點擊「管理操做」中的「預覽」,就打開了預覽頁面,點擊「下載歹列表」後面的hackerxfiles,就打開了下載頁面,直接點擊頁面中的「點擊下載」按鈕後就彈出了下載對話框。,咱們能夠下載config.inc.php了。
打開下載的config.inc.php,就能夠看到PHPCMSSP4的數據庫鏈接信息了。後來我又到PHPCMS的官方演示站點測試了一下,也成功了。在獲得數據庫的鏈接密碼後,就能夠嘗試一下是否與PHPCMS SP4的後臺管理員密碼同樣,若是使用的也是相同的密碼,那咱們就能夠登陸進入後臺拿webshell了(至於在後臺如何拿到webshell之前應該有談及過,你們能夠自行去查一查)。
即便數據庫鏈接密碼不是後臺管理員密碼也仍是有其它利用方法的,若是mysql服務器容許外部鏈接,咱們就能夠鏈接上去執行查詢命令「select * from phpcms_memberwhere userid=l」(表前綴爲phpcms_的狀況下)來獲得後臺管理員的用戶名和密碼,若是密碼的MID5值可以破解出來,那麼一樣能夠進入後臺來拿webshell。對於密碼的MD5值破解不出來的狀況,若是權限夠的話,咱們還能夠經過導出文件採獲得webshell,導出文件時要用到的網站絕對路徑咱們能夠經過下面的暴路徑漏洞來獲得。最後在提醒一下你們,咱們把「hackerxfiles|include/config.inc.php%201」中的「include/config.inc.php」替換成別的文件就能夠實現下載任意文件了。
2、暴路徑漏洞
咱們來看一下Jannock對這個漏洞的分析,存在漏洞的文件爲「Corpandresize/ui.php」。
咱們能夠看出,網站絕對路徑被保存在了cookie中。關於這個漏洞利用,咱們一樣仍是須要先註冊一個用戶,登陸後直接訪問,就會出來‘請選擇要剪切的圖片」的對話框,點擊「肯定」後會詢問是否關閉窗口,咱們選擇「否」,而後在瀏覽器的地址欄裏輸入「javascript:alert(document.cookie)」後回車就能夠看到當前的cookie信息了。
其中「tmp=C%3A%2FAppServ%2Fwww%2Fphpcms%2F%2F」中的「%3A」是「:」的URL編碼,「%2F」是「/」的URL編碼,還原回來就是,如今咱們就知道網站的絕對路徑是「c:/AppServ/www/phpcms/」了,在傲遊瀏覽器中利用Cookie Editer插件能夠更直觀的看到當前的cookie。
在獲得網站的絕對路徑後,若是權限夠的話咱們就能夠經過相似「select Ox3C3F706870206576616C28245F504F535458785D293F3E into DUMPFILE' C:/AppServ/www/phpcms/php.php';「的代碼來導出一個webshell,其中Ox3C3 F706870206576616C2 8245F504F535458785D293F3E就是「<?php eval($_POST[x])?>」的十六進制表示形式。
3、SQL注A漏洞
還發現了PHPCMS SP4的一個SQL注入漏洞,對該漏洞相應的分析以下,存在漏洞的文件爲「ads\include\ads.class.php」。
能夠看出,變量$adsid沒有通過處理就直接進人了SQL查詢,形成了SQL注入漏洞。給出的漏洞利用方法是註冊普通會員賬號,預訂一個廣告,而後修改adsid的值進行注入,但很慚愧,我不知道具體的要如何修改adsid的值,不會構造注入語句,還但願高手們可以撰文分享一下。
4、刪除任意文件漏洞
還發現了PHPCMS SP4存在刪除任意文件的漏洞,漏洞的分析以下。
在圖片剪切那裏先讀取cookie中的信息,而後直接刪除文件,這就形成了刪除任意文件的漏洞。但我在測試時卻沒有測試成功,多是我技術不到位的緣故吧。
本文危險漫步給你們介紹了PHPCMS SP4的幾個漏洞,咱們在google或百度中搜索「Powered by Phpcms 」,後臺登陸頁面顯示「PHPCMS SP4」的就是使用了PHPCMS SP4的網站,極可能存在這些漏洞。javascript