首页 > 数据库 >Mysql UDF提权实验

Mysql UDF提权实验

时间:2024-01-22 11:33:23浏览次数:39  
标签:文件 函数 自定义 dll 提权 UDF Mysql 实验

通过实训平台学习一下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

相关文章

  • MySQL-8.3.0 innovation 创新版本YUM安装配置
     MySQL-8.3.0innovation版本已发布了,想抢先体验一下最新的功能,可以用以下的方式快速在虚拟机上安装一下哈 服务器环境:[root@node213~]#cat/etc/redhat-releaseCentOSLinuxrelease7.9.2009(Core)[root@node213~]#uname-aLinuxnode2133.10.0-1160.el7.x86_64#1......
  • ubuntu22.04 mysql服务每天自动shutdown问题
    1.问题描述MYSQL每天自动关闭,查看/var/log/mysql/error.log.1.gz,内容如下:2019-06-12T06:33:13.582973+08:000[Note]Shuttingdownplugin‘CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS’2019-06-12T06:33:13.583022+08:000[Note]Shuttingdownplugin‘CONNECTION_CON......
  • Mysql日志审计自动备份日志(按天)
    echooffecho------------------开始备份日志文件------------------setymd=%Date:~0,4%%Date:~5,2%%Date:~8,2%setbackup-dir=C:\tools\mysql-server-auditsetpwd=%你自己的数据库密码%echo备份目录:%backup-dir%echo--------------------------------------------------if......
  • 【LeetCode 2494. 合并在同一个大厅重叠的活动】[MySQL 用户变量/Pandas]面向过程编程
    目录题目地址MySQL代码等效pandas代码题目地址https://leetcode.cn/problems/merge-overlapping-events-in-the-same-hall/MySQL代码#WriteyourMySQLquerystatementbelowwitht2as(select*#----只需要改动这里的逻辑,其他不要动。注意里面的语句是“顺序......
  • 【LeetCode1747. 应该被禁止的 Leetflex 账户】[MySQL 用户变量/Pandas]面向过程编程;
    目录题目地址MySQL代码等效pandas代码题目地址https://leetcode.cn/problems/leetflex-banned-accounts/description/MySQL代码witht1as(selectaccount_id,ip_address,loginastick,"login"asmytypefromLogInfounionallselectaccount_id,ip......
  • 【LeetCode 2701. 连续递增交易】[MySQL 用户变量/Pandas]面向过程编程得到严格递增连
    目录题目地址MySQL代码等效pandas代码题目地址https://leetcode.cn/problems/consecutive-transactions-with-increasing-amounts/MySQL代码#WriteyourMySQLquerystatementbelowwitht1as(select*#--------------------------只需要改动这里的逻辑,其他......
  • 【Leetcode1949. 坚定的友谊】使用MySQL在无向图中寻找{"CompleteTripartite", {1, 1,
    目录题目地址思路代码MySQL代码逐行翻译为Pandas代码等效Cypher查询(未验证)题目地址https://leetcode.cn/problems/strong-friendship/思路就是在无向图中寻找这个pattern:(*Mathematica*)GraphData[{"CompleteTripartite",{1,1,3}}]SQL写还是比较麻烦。更加复杂的查询还是......
  • 【Leetcode 2474. 购买量严格增加的客户】[MySQL 用户变量/Pandas]面向过程编程解决严
    目录题目地址MySQL代码等效pandas代码题目地址https://leetcode.cn/problems/customers-with-strictly-increasing-purchases/description/MySQL代码#WriteyourMySQLquerystatementbelowwitht1as(selectcustomer_id,year(order_date)asmy_year,sum(price)......
  • [转帖]MySQL多版本并发控制机制(MVCC)-源码浅析
    https://zhuanlan.zhihu.com/p/144682180 MySQL多版本并发控制机制(MVCC)-源码浅析前言作为一个数据库爱好者,自己动手写过简单的SQL解析器以及存储引擎,但感觉还是不够过瘾。<<事务处理-概念与技术>>诚然讲的非常透彻,但只能提纲挈领,不能让你玩转某个真正的数据库。感谢c......
  • MySQL - 日志
    1.回滚日志(undolog)作用:保存了事务发生之前的数据的一个版本,可以用于回滚,同时可以提供多版本并发控制下的读(MVCC),也即非锁定读内容:逻辑格式的日志(当delete一条记录是,记录一条对应的insert记录,反之亦然),在执行undo的时候,仅仅是将数据从逻辑上恢复至事务之前的状态释放:当事务提交......