MySQL中怎么实现udf提权

发布时间:2021-07-13 14:58:46 作者:Leah
来源:亿速云 阅读:170

MySQL中怎么实现udf提权,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

UDF(user defined function)用户自定义函数,是mysql的一个拓展接口。用户可以通过自定义函数实现在mysql中无法方便实现的功能,其添加的新函数都可以在sql语句中调用,就像调用本机函数一样。

0x02 Windows提权的条件

1.如果mysql版本大于5.1,udf.dll文件必须放置在mysql安装目录的lib\plugin文件夹下

2.如果mysql版本小于5.1, udf.dll文件在windows server 2003下放置于c:\windows\system32目录,在windows server 2000下放置在c:\winnt\system32目录

3.所拥有的权限必须有insert和delete的权限

4.具有目录的写权限

以上的条件是从网上搜集来的,并没有做完全的测试

这里我使用的版本是MySQL5.5.56,使用的权限是root权限,而且我将

secure-file-priv参数也已经设置为空,这里大家也再注意一下。

在高版本中,secure-file-priv参数是非常重要的,它限制了MySQL的导出,该参数为NULL时不允许导出、该参数为空时允许在任意文件夹中导出、该参数为某文件夹时允许在该文件夹中导出。

具体情况如下:

MySQL5.5版本:my.ini中无此参数,查询该参数情况为NULL。

MySQL5.6版本:my.ini中无此参数,查询该参数情况为空。

MySQL5.7版本:my.ini中有此参数,查询该参数情况为数据目录下的Upload文件夹。

其他版本的,大家自行进行测试。

0x03 利用过程

根据提权的条件,此版本应该将dll文件放到lib\plugin目录下,而且这里我碰到了一个玄学问题,在网上都说lib和plugin文件夹是需要自己手动来创建的,而我安装好之后,两个文件夹居然自己就存在了,暂不知道是什么原因

MySQL中怎么实现udf提权

这里也就再顺便提一下,虽然网上一直都在说使用NTFS ADS流来创建文件,这个我还没有执行成功过,会一直报错的,暂时还不知道原因,如果有大佬知道请告知,如果之后我研究出来了,再发布出来吧

MySQL中怎么实现udf提权

之后就是传提权文件了,这里大家不用去求别人了,神器sqlmap里面就已经有自带的了,只需要拿出来进行解密就可以了。

MySQL中怎么实现udf提权

这里可以看到他并不是正常的dll文件,因为sqlmap中提供的是通过异或编码了的,使用前是需要进行解密的,解密工具sqlmap也有自带了,在sqlmap\extra\cloak文件中

MySQL中怎么实现udf提权

直接使用就可以进行解码了,使用之后会在通目录下生成解密后的文件

MySQL中怎么实现udf提权

之后将其改名后,通过各种方法,将它放到lib\plugin目录下就可以了

MySQL中怎么实现udf提权

然后就可以进行创建函数了,这里大家再注意一下,需要使用十六进制编辑器去看一下这个dll文件支持创建什么函数

MySQL中怎么实现udf提权

这里我们可以看出来,可以创建sys_exec和sys_eval等函数,这里还有一个坑,也不知道是不是我操作的原因,这里如果我创建sys_exec函数的话,在执行命令之后,MySQL服务会彻底崩溃掉,使用sys_eval函数则没有任何问题,我们这里直接创建函数

create function sys_eval returns string soname 'udf.dll';

MySQL中怎么实现udf提权

然后直接进行执行就可以了

select sys_eval('whoami');

MySQL中怎么实现udf提权

在使用完成之后,一定要及时将其删除

drop function sys_eval;delete from mysql.func where name='sys_eval';

MySQL中怎么实现udf提权

关于MySQL中怎么实现udf提权问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

推荐阅读:
  1. 关于mysql mof提权研究
  2. windows提权

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

mysql udf

上一篇:如何获取Redis中所有的键

下一篇:java 中怎么使用镜像源连接mysql5.7数据库

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》