搜索
查看: 374|回复: 1

MySql在windows和Linux中的提权姿势

[复制链接]

1839

主题

2255

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
11913
发表于 2015-11-15 22:06:55 | 显示全部楼层 |阅读模式

最近在测试的时候找了这个东西一段时间,熬夜几晚之后终于有了点成果,so发出来大家交流下。

我本地的环境是windows 7 + mysql5.5.40

常规的方法就是先进入到mysql数据库再创建表然后把UDF的内容转换成16进制写入到表中
接着把表的内容导出到插件目录,插件目录的查询语句

show variables like "%plugin%";

然而作为一个坑爹屌丝工具帝来说....这方式貌似太麻烦
所以我们换一种姿势
--直接导出UDF到插件目录 省去查询目录和写入表的步骤--

那么问题来了...不查询插件目录的路径怎么知道路径是多少=。=
我当时也纠结了,后来想到Linux里面和windows有个神奇的符号“..” <好吧是两个符号>
在Linux中查询上级目录的时候是这样的

没错就是这个.. ls ../ 意思就是查询上级目录的内容
那么windows呢=。= 他是这样的


我当时就是这么想的,根据不想当CEO的厨师不是好的司机的原理 MySql能不能也这样子玩
测试时候是这样的
我们不查询目录 我们直接导出udf到../lib/plugin这个路径里

没错=。=导出成功了
那么路径会不会有问题咧.....创建function试试


如图所示 函数创建成功命令也执行成功了=。=windows通过
以下是用过的语句

select unhex('UDF转换为16进制的内容') into dumpfile '..\\lib\\plugin\\wooyun.dll';create function sys_eval returns string soname "wooyun.dll";select sys_eval('whoami');

与之前的导入到表再导出相比 精简了貌似有三行语句的样子=。=

那么windows是没问题了,然而Linux呢?
为了防止有人说我作弊=。=那么就不在虚拟机里弄了..<其实是拔了根内存条给小伙伴之后虚拟机跑不动了>
咱就去扫了扫mysql的弱口令
然而最后终于找到了测试对象
在Linux中mysql的插件目录默认是没有写入权限的,然而总会有例外..比如说遇到二逼管理员的时候

这个过程是大同小异 咱就不重复了 直接上
各位看官就看结果吧

在这里我们把路径修改为

../lib/plugin

唔,没错 至于为什么.....因为我突然间发现这玩意往上一个目录后就会神奇的出现一个lib目录..里面刚好有个plugin目录....当然只是部分..有一些是不行的 还是要老老实实找到插件目录然后往里面写入<然而我测试了50台都是可以的>

那么以下继续贴语句

select unhex('UDF转换为16进制的内容') into dumpfile '../lib/plugin/wooyun.so';create function sys_eval returns string soname "wooyun.so";select sys_eval('whoami');

整个测试间遇到过的问题
1:插件和系统不兼容..
2:windows用到了Linux的插件...
3:目录不可写..
4:之前有人创建过sys_eval导致我创建的时候出错<删掉就行了>

至于udf的获取方式....sqlmap中有 自行查找

=。=多谢阅读 欢迎指正


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?Join BUC

x
过段时间可能会取消签到功能了

0

主题

7

帖子

15

积分

我是新手

Rank: 1

积分
15
发表于 2017-1-24 09:31:25 | 显示全部楼层
技术贴,谢谢分享!
您需要登录后才可以回帖 登录 | Join BUC

本版积分规则

Powered by Discuz!

© 2012-2015 Baiker Union of China.

快速回复 返回顶部 返回列表