参考文章:
https://blog.csdn.net/qq_43430261/article/details/107258466
UDF路径
默认在MySQL根目录下的/lib/plugin
也可以通过select @@basedir
查看根目录
原理
通过引入udf.dll
来创建自定义函数,下面语句的含义是定义了sys_eval
的函数,这个函数在udf.dll
中有实现,通过引入这个函数来执行系统命令
1 | CREATE FUNCTION sys_eval RETURNS STRING SONAME 'udf.dll'; |
提权利用
由于sys_eval
函数是以管理员权限运行的,所以我们现在考虑如何将这个管理员权限转移给我们的shell
- 将udf文件放到指定位置(Mysql>5.1放在Mysql根目录的lib\plugin文件夹下)
- 从udf文件中引入自定义函数(user defined function)
- 执行自定义函数
我们现在需要udf.dll,可以通过sqlmap进行获取,进入到sqlmap\extra\cloak\cloak
目录执行下述命令,就会在指定的路径下生成动态链接库
1 | cloak.py -d -i D:\sqlmap\udf\mysql\windows\32\lib_mysqludf_sys.dll_ |
接下来我们需要,授予特定可供命令执行的文件以管理员权限,于是我们可以将MySQL中的管理员权限转移出来
1 | mysql -u root -p 'R@v3nSecurity' # 进入mysql |
总结
这里补充了UDF提权方式,通过MySQL引入udf.dll并创建自定义命令执行函数,授予某个常用的命令以管理员权限,从而导致将MySQL中的权限转移出来造成提权
本文采用CC-BY-SA-3.0协议,转载请注明出处
Author: Sally
Author: Sally