Mysql UDF提权方法

UDF(user defined function)用户自定义函数,是mysql的一个拓展接口。用户可以通过自定义函数实现在mysql中无法方便实现的功能,其添加的新函数都可以在sql语句中调用,就像调用本机函数一样。

0x02 windows下udf提权的条件

如果mysql版本大于5.1,udf.dll文件必须放置在mysql安装目录的lib\plugin文件夹下/

如果mysql版本小于5.1, udf.dll文件在windows server 2003下放置于c:\windows\system32目录,在windows server 2000下放置在c:\winnt\system32目录。

掌握mysql数据库的账户,从拥有对mysql的insert和delete权限,以创建和抛弃函数。

拥有可以将udf.dll写入相应目录的权限。

0x03 提权方法

如果是mysql5.1及以上版本,必须要把udf.dll文件放到mysql安装目录的lib\plugin文件夹下才能创建自定义函数。该目录默认是不存在的,需要使用webshell找到mysql的安装目录,并在安装目录下创建lib\plugin文件夹,然后将udf.dll文件导出到该目录。

Mysql UDF提权方法


Mysql UDF提权方法


在sqlmap中可以导入udf

Mysql UDF提权方法


Mysql UDF提权方法


复制到新建目录

Mysql UDF提权方法

create function sys_eval returns string soname "lib_mysqludf_sys.dll"; --引用共享库文件创建存储过程

Mysql UDF提权方法


成功执行命令,可以看到当前权限为administrator

Mysql UDF提权方法


删除该函数

Mysql UDF提权方法


参考
https://www.cnblogs.com/sijidou/p/10522972.html
https://www.jianshu.com/p/5b34c1b6dee7
https://blog.csdn.net/qq_26090065/article/details/81515355

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzygdy.html