udf 全称为’user defined function’,意思是’用户自定义函数’。用户可以对数据库所使用的函数进行一个扩展(windows利用dll文件,linux利用so文件),那么我们就可以利用这个特点,往MySQL里面添加一个可以执行系统命令的函数即可。

UDF 提权就像 “利用数据库给自己开后门”。举个例子:假设你偷偷在公司的打卡机里装了一个小程序,这个小程序本来应该只用来记录考勤,但你把它改成了能直接开老板办公室的门禁卡——这就是 UDF 提权的核心逻辑。

数据库就像一台手机,UDF 就是用户自己安装的 App。正常 App 用来听歌、聊天,但黑客装的 App 其实是偷密码的间谍软件

二、利用条件

1、常规情况:

1.1 mysql配置文件secure_file_priv项设置为空,(如果为NULL或/tmp/等指定目录,即无法自定义udf文件导出位置,则无法利用);

1.2 CREATE权限、FILE权限(root用户默认拥有所有权限)。

2、特殊情况:

2.1 INSERT权限、UPDATE权限、DELETE权限。

提权步骤(简单版)

传文件:把恶意代码(比如 udf.so)传到服务器上,比如通过数据库的“文件写入”功能

导文件:用 SQL 命令把文件复制到数据库的“插件目录”

造函数:在数据库里创建一个“自定义函数”,绑定这个恶意代码

执行命令:调用这个函数执行系统命令(比如 chmod u+s /usr/bin/find),直接拿到 root 权限

等碰到响应靶机 再去做复现执行 现在先简单了解一下