目录
环境:windows
我这里使用phpstudy安装的
如果你是手动安装MySQL
那你自己去找配置文件哈
安装MySQL5.7,打开配置文件,然后添加这一行,意思是可以读写系统中任意路径
-- 任意路径
secure_file_priv=
-- 写入任意路径(windows)
select "hello" into outfile "D:\\other\\aaa.php";
-- 写入任意路径(linux)
select "hello" into outfile "/var/www/html/aaa.php";
-- 指定路径,包括里面的子路径,包括子目录
secure_file_priv=D:/other/test/mysql
-- 写入指定路径,包含子路径
select "hello" into outfile "D:\\other\\test\\mysql\\aaa.php";
-- 写入指定路径,包含子路径
select "hello" into outfile "D:\\other\\test\\mysql\\mulu\\aaa.php";
重启MySQL就可以了
环境:Docker+ubuntu
这里是当成靶场了,所以安装在docker里,使用ubuntu18.04
安装命令:apt-get install mysql
好像是默认安装5.7版本的
然后发现,真机的MySQL配置文件和docker容器里是不一样的
真机我使用宝塔来安装LAMP环境,所以有点不一样
进入之后,看到这个my.cnf文件
一打开,你会发现啥也没有,跟其他文章讲的是不一样的
就光秃秃的,一堆注释的东西和两行东西
应该是包含这两个文件的目录代码进来
没关系,自己加上去也能跑
然后重启MySQL就可以了
不放心的小伙伴自己进入MySQL查看一下
-- 首先查看有没有写入权限
show variables like "secure_file_priv";
任意路径:跟上图一样显示空气
指定路径:有路径显示,比如:/var/www/html
禁止写入:显示NULL