通过实训平台学习一下UDF提权
实验环境
实验原理
udf = 'user defined function',即‘用户自定义函数’。是通过添加新函数,对MYSQL的功能进行扩充,性质就象使用本地MYSQL函数如abs()或concat()。udf在mysql5.1以后的版本中,存在于‘mysql/lib/plugin’目录下,5.1之前位于“C:\Windows\System32\”,文件后缀为‘.dll’,常用c语言编写。
如果我们拥有对 mysql库的创建和删除权限的话,就可以首先上传提供渗透攻击功能的UDF.DLL 文件,然后在 MySQL 中创建自定义的函数,功能来源于上一步上传的 UDF.DLI文件;最后调用上一步中创建的自定义函数,实现渗透攻击。
实验目的
利用udf提权方法,获取目标系统管理员权限
实验过程
1.上传并导入UDF.DLL文件
实验平台中已经提供了dll文件,实际渗透过程中可以利用sqlmap自带的dll文件
获取数据库权限后,先查询mysql版本,确定为5.1之前的版本
自动的mysqlup工具会把dll文件进行16进制编码,同时利用sql语句创建临时表,插入UDF文件里面的数据,删除临时表
保存的内容放到txt文件里面
然后通过source命令,在目标数据库执行本地txt文件里的sql语句
查询文件,确认dll文件是否上传成功
2.MySQL 中创建自定义的函数
CREATE FUNCTION backshell RETURNS STRING SONAME 'udf.dll';
实验中上传的dll文件是具有反弹shell功能,函数命名跟dll文件中函数对应
3.执行创建的函数,获取system权限
本地用nc监听
mysql执行backshell函数
本地监听获取会话,并且是system权限
标签:文件,函数,自定义,dll,提权,UDF,Mysql,实验 From: https://www.cnblogs.com/byzd/p/17979687