文章目录
- 前记
- 权限提升------第一百三十四天
-
- Windows权限提升篇&数据库篇&MySQL&MSSQL&Oracle&自动化项目
-
- 前置知识
- [Web到Win - 数据库提权-MySQL](#Web到Win - 数据库提权-MySQL)
- [Web到Win - 数据库提权-MSSQL](#Web到Win - 数据库提权-MSSQL)
- [Web到Win - 数据库提权-Oracle](#Web到Win - 数据库提权-Oracle)
前记
- 本节课是关于数据库权限提升的内容,主要介绍了三款主流的数据库:MySQL、MSSQL和Oracle的提权方式
- 以介绍工具为主,实战的时候直接一把梭就完事了
权限提升------第一百三十四天
Windows权限提升篇&数据库篇&MySQL&MSSQL&Oracle&自动化项目
前置知识
所处位置
- 还是老传统,本节课处在的位置是:
shell
Web权限 --> 数据库权限 --> 计算机系统权限

MySQL、MSSQL、Oracle简介
- 我们介绍这节课之前先来简单了解一下这三个数据库:
- MySQL:开源数据库,与 PHP、Python、Java 等语言集成良好,但功能相对简单,适用于网站、初创公司
- 默认端口:3306
- 最高权限默认账户:root
- 是否默认支持外连:否
- MSSQL:又叫SQL Server,微软开发的闭源数据库,与 Windows 和 .NET 深度集成,适用于企业、政府
- 默认端口:1433
- 最高权限默认账户:sa
- 是否默认支持外连:是
- Oracle:Oracle公司开发的闭源数据库,功能极为强大,适合企业关键业务,适用于金融、电信、大型机构
- 默认端口:1521
- 最高权限默认账户:SYS / SYSTEM
- 是否默认支持外连:是
- MySQL:开源数据库,与 PHP、Python、Java 等语言集成良好,但功能相对简单,适用于网站、初创公司
数据库提权流程
1、获取数据库账号密码
- 如何获取网站的数据库账号密码呢?之前也讲过:
shell
网站存在SQL注入漏洞
数据库的存储文件或备份文件
网站应用源码中的数据库配置文件
采用工具或脚本爆破账号密码(需解决外连问题)
2、利用数据库自动化提权项目进行连接
- 这里我们也可以自己去手动提权,但是太麻烦了,直接上项目梭哈即可:
- MDUT - 图形化 :https://github.com/SafeGroceryStore/MDUT
- Sylas - 图形化 :https://github.com/Ryze-T/Sylas
- RequestTemplate - 图形化:工具好像是被删库了,小迪资源中有
- Databasetools - 命令行 :https://github.com/Hel10-Web/Databasetools,但好像不太好用,而且后续也没有更新了
3、解决不支持外连的问题
- 有的时候数据库并不支持从外网连接,这时候我们就需要让他支持外连,有两种方式:
- 利用已知Web权限建立代理节点,然后自动化提权项目在连接这个代理节点(等同于本地连接) ==> 隧道代理
- 利用已知权限执行SQL开启外联(让数据库支持外联) ==> 数据库配置
- 第一种方法是内网的问题,这里暂时不讲,主要是第二种方式,只需要哥斯拉连接数据库之后执行如下命令即可:
MySQL(默认不支持外连)
mysql
GRANT ALL PRIVILEGES ON *.* TO '账号'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;
flush privileges;
MSSQL(默认支持外连)
sql
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'Ad Hoc Distributed Queries', 1;
RECONFIGURE;
Oracle(默认支持外连)
sql
ALTER SYSTEM SET REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE SCOPE=SPFILE;
SHUTDOWN IMMEDIATE;
STARTUP;
Web到Win - 数据库提权-MySQL
-
提权的条件:
- ROOT密码
my.conf
文件中的secure-file-priv
为空- 存在
MySQL\lib\plugin
目录
-
提权的技术:UDF、MOF(Windows Server 2008之后废除)、启动项、反弹Shell
-
我这里就用Windows Server 2022服务器搭建phpstudy + PHP7.3 + MySQL5.7 + Zblog来进行案例演示吧
-
我们直接上传木马,然后哥斯拉连接:
-
这里虽然是最高权限了,但是我们暂时不管,我们就假装是一个低权限用户
-
然后我们看看这个网站有没有数据库文件,这里暂时不考虑其他的数据库架构,本质都是一个道理,我们找到在这个位置:
MDUT
- 然后根据这个信息,直接尝试用刚才提到的工具连接数据库,比如MDUT:
shell
java8 -jar .\Multiple.Database.Utilization.Tools-2.1.1-jar-with-dependencies.jar

-
因为这里是MySQL,所以一般不允许外连,所以会提示失败,我们需要先经过哥斯拉连接这个数据库,然后将他的外连开启:
-
此时再回到工具点击测试连接,就会发现连接成功了:
-
然后我们直接尝试执行命令,这里不用UDF也可以成功:
-
如果原始的执行不了,那就点击UDF提权,再执行命令,如果这里报错:
-
那么就在
C:\phpstudy_pro\Extensions\MySQL5.7.26
下创建一个lib\plugin
目录,因为它是 MySQL 5.1 以后唯一允许加载 UDF 的路径,所以必须把 dll/so 丢到这里,否则 mysqld 拒绝加载 -
不过这里,我们使用的是这些集成化工具可能不会自带该目录,如果是手动搭建的话是有的;然后它和MySQL的版本也有关系,phpstudy中MySQL8又有该目录;搞不懂,反正实战下就是能提就提,提不了就跑路吧
Template
-
这个工具的话,它支持的数据库和功能更多一些,然后它需要先生成配置文件:
-
再解析这个配置文件,新增一个数据库连接:
-
然后再选择
MySQL Attack
,尝试连接并进行提权:
-
同样也是,直接就提权成功了:
Web到Win - 数据库提权-MSSQL
-
提权条件:知道sa密码
-
提权技术 :
xp_cmdshell
、sp_oacreate
、CLR沙盒 -
这里我去尝试安装了一下SQL Server,太麻烦了,我就懒得弄了,有时间的可以下去复现一下
-
这里就以小迪的演示为例吧,简单看一下,因为实战中也就是拿着工具直接扫,能提就提,不能提就跑路
-
首先还是通过哥斯拉拿到Web权限,然后尝试翻出数据库信息:
-
然后就通过哥斯拉自带的管理工具进行连接:
-
连接成功,说明数据库配置信息没有问题,那我们就可以尝试工具提权了
MDUT
-
和之前一样,打开工具直接连就好了:
-
进去之后,就可以做个点鼠标的猴子,一个个试就可以了:
-
有时候也会出现报错的情况,就先恢复,然后再激活组件:
RequestTemplate
- 然后这个也是一样的,直接连接然后提权即可:
Web到Win - 数据库提权-Oracle
- 提权条件:知道数据库账号密码
- 提权技术:DBA、普通用户、注入模式
- 也不多说了,都是一样的,遇到直接工具梭哈: