PhpMyAdmin后臺getshell(滲透測試)

下面由phpMyAdmin教程欄目給大家介紹phpmyadmin后臺getshell(滲透測試),希望對需要的朋友有所幫助!

PhpMyAdmin簡介

PhpMyAdmin 是一個以PHP為基礎,以Web-Base方式架構在網站主機上的MySQL的數據庫管理工具,讓管理者可用Web接口管理MySQL數據庫。借由此Web接口可以成為一個簡易方式輸入繁雜SQL語法的較佳途徑,尤其要處理大量資料的匯入及匯出更為方便。
PhpMyAdmin后臺getshell(滲透測試)
在通過對目標進行信息收集探測后,當發現存有phpmyadmin目錄(可試下:http://ip:端口/phpmyadmin/ )時,進而通過弱口令(可以直接嘗試下賬號root密碼root)或者暴力破解進入管理后臺之后,有多種方法進行getshell。
PhpMyAdmin后臺getshell(滲透測試)

into outfile導出木馬

想在網站內部插入木馬,前提是你得知道網站的絕對路徑,方法也有很多,比如通過報錯獲取路徑,通過phpinfo.php等等(可參考另一篇博文:https://blog.csdn.net/weixin_39190897/article/details/99078864 )。

最方便的是用select @@basedir;直接查(但有時沒法查出來,只能另尋它法):
PhpMyAdmin后臺getshell(滲透測試)

根據上面的反饋,我們可以看到 MySQL 的位置在 D:softphpStudyMySQL目錄下。

立即學習PHP免費學習筆記(深入)”;

獲得網站路徑后就可以企圖上傳木馬了,最常用的是通過into outfile在網站根目錄上直接寫入一句話木馬:

select ‘‘ into outfile ‘D:softphpStudywwwxxx.php’;

但在新版的mysql中,這句話并沒有運行成功。
PhpMyAdmin后臺getshell(滲透測試)
Mysql新特性secure_file_priv會對讀寫文件產生影響,該參數用來限制導入導出。我們可以借助show global variables like ‘%secure%’;命令來查看該參數:
PhpMyAdmin后臺getshell(滲透測試)
當secure_file_priv為NULL時,表示限制Mysql不允許導入導出,所以爆出錯誤。要想使得該語句導出成功,則需要在Mysql文件夾下修改my.ini 文件,在[mysqld]內加入secure_file_priv =”” 即可:
PhpMyAdmin后臺getshell(滲透測試)
當secure_file_priv的值沒有具體值時,表示不對mysqld 的導入|導出做限制,此時就可以執行導出命令。

利用Mysql日志文件

Mysql 5.0版本以上會創建日志文件,通過修改日志的全局變量,也可以getshell。但是也要對生成的日志有可讀可寫的權限。(注:linux因為權限問題親測沒有成功)。先來介紹兩個MySQL全局變量:general_log 和 general_log file。

  1. general log 指的是日志保存狀態,ON代表開啟 OFF代表關閉;
  2. general log file 指的是日志的保存路徑。

查看日志狀態的命令:show variables like ‘%general%’;
PhpMyAdmin后臺getshell(滲透測試)
在以上配置中,當開啟general時,所執行的sql語句都會出現在WIN-30DFNC8L78A.log文件。

那么,如果修改general_log_file的值,那么所執行的sql語句就會對應生成,進而getshell。
PhpMyAdmin后臺getshell(滲透測試)PhpMyAdmin后臺getshell(滲透測試)
對應就會生成xxx.php文件
PhpMyAdmin后臺getshell(滲透測試)
將一句話木馬寫入xxx.php文件:SELECT ‘
PhpMyAdmin后臺getshell(滲透測試)
接著可以看到日志文件中記錄了木馬語句:
PhpMyAdmin后臺getshell(滲透測試)最后中國菜刀連接,getshell:
PhpMyAdmin后臺getshell(滲透測試)

? 版權聲明
THE END
喜歡就支持一下吧
點贊5 分享