【24】WEB安全学习----MySQL注入-9(读写文件)

这一章介绍下MySQL数据库访问操作系统的一些可利用的功能。

一、读文件

MySQL提供了允许load data infile命令高速地从一个文本文件中读取行,并装入一个表中,看下此命令的说明:

load data infile '文件名' into table 表名

测试一下导入,提示“The MySQL server is running with the --secure-file-priv option so it cannot execute this statement”。

这是因为在安装MySQL的时候限制了导入与导出的目录权限只能在规定的目录下才能导入导出,

通过SHOW variables like '%secure%';命令查看配置,

查看当前secure-file-priv的值为NULL则为禁止,把secure-file-priv的值改为空,则表示没有任何限制。

在mysql.ini中,修改secure-file-priv= ,重启mysql。

再次查看,已设置为空了。

再次导入文件,提示导入成功。

查看text表,发现文本内容已导入到表中,且是通过换行符分割的,如果文本里面有中文,会提示UTF-8编码错误,但是还是会导入其他ASCII码字符的。

为了便于使用,MySQL还提供了load_file()函数,通过该函数可以不需要创建表,直接传递结果即可:

二、写文件 

MySQL提供了into outfile函数,可以将一条select语句的结果写到MySQL进程所有者拥有的完全可读可写的文件中。

猜你喜欢

转载自blog.csdn.net/a15803617402/article/details/82798599