什么是udf提权?
MySQL提供了一个让使用者自行添加新的函数的功能,这种用户自行扩展函数的功能就叫udf。
它的提权原理也非常简单!即是利用了root 高权限,创建带有调用cmd的函数的udf.dll动态链接库!这样一来我们就可以利用 system权限进行提权操作了!
当我们拿到webshell后,由于中间件,例如,apache使用了较低的权限,可能仅仅是个网络服务的权限,然后我们就需要进行提权,而有时候目标机器补丁较全,各种系统提权姿势都失效的情况下,可以将目光转义到数据库服务上,在Windows下,在较低版本的mysql(<5.6)安装时默认是系统权限。还有就是很多人图方便,例如使用了各种集成环境,未做安全设置,直接用高权限账户进行站点配置,就可以考虑用UDF进行提权。
dll文件的好处?
1.扩展了应用程序的特性;
2.可以用许多种编程语言来编写;
3.简化了软件项目的管理;
4.有助于节省内存;
5.有助于资源共享;
什么是udf库?
UDF表示的是MySQL中的用户自定义函数。这就像在DLL中编写自己的函数并在MySQL中调用它们一样。我们将使用“lib_mysqludf_sys_64.dll”DLL库
不同版本的区别:
MySql < 4.1:
允许用户将任何的DLL文件里面的函数注册到MySql里。
MySql 4.1-5.0:
对用来注册的DLL文件的位置进行了限制,通常我们选择 UDF导出到系统目录
C:/windows/system