你真的会udf提权???数据库权限到系统权限 内网学习 mysql的udf提权操作 ??msf你会用了吗???

news2025/1/19 2:21:54

我们在已经取得了数据库的账号密码过后,我们要进一步进行提取的操作,我们mysql有4钟提权的操作。

udf提权(最常用的)mof提权
启动项提权反弹shell提权操作

怎么获取密码操作:

怎么获取密码,通过sql注入获取这个大家都应该知道了,还有一点就是通过翻阅文件获取比如说mysql数据库

我们可以翻阅下面的这些文件来看账号密码,这些文件都是mysql存储账号密码的文件。

这个是密码找到成功率最高的。

我们来说说mysql提权的前提:

如果这些前提都没有满足的话,你就可以放弃提权操作了。

第一:数据库最高权限的账号密码

第二:secure-file-priv=空

这个第二点是最重要的,这个是导出的dll'文件在进行限制 空就说明是可以进行导出的

不能导出就不能进行提权的操作,secure-file-priv=NULL这样就不能 

或者它会给你限制导出的路径进行操作,这样你也没有办法

show global variables like "secure%";

使用这个来进行查看的操作,看看secure-file-priv=空

然后我们在进行下一步,MySQL数据库默认是不支持外联的。

那就我们就要来说说什么是外联,外联就是外部连接。那我们该怎么进行连接的操作,我们要使用下面的命令来开启外联的功能

如果没有开启外联的操作我们的msf工具都不能进行使用

GRANT ALL PRIVILEGES ON *.*TO'帐@'%'IDENTIFIED BY'密码'WITH GRANT OPTION;填写你得到的账号密码

配置文件怎么改解决问题secure-file-priv=NULL 

 怎么来解决secure-file-priv=NULL的情况,因为我的是本地的操作,所以我可以直接更改配置文件,但是在更改配置文件的时候,要注意,我们会在c盘看见2个mysql数据库的文件,一个是本身的,还要一个phpstudy的,只有phpstudy才是真的,这点要特别的进行注意操作。

这个才是真的我们要更改的配置文件,不要像我一样改半天假的配置文件,还问怎么不可以就是改不对secure-file-priv=NULL这个的操作。

在实际我们怎么办????

我们在实际的时候可以上传大马来手工进行更改配置文件my.ini然后在用命令把服务进行重启的操作。在webshell后台进行命令执行,重启服务的操作。

然后有人说了不支持外部联,我怎么执行这个命令???这点说得好,我们是取得了web权限的,我们使用的后门连接程序,比如说哥斯拉,蚁剑,这些,本身程序就在它的服务器上面,所以是可以进行连接操作的。

然后我们就可以连接我们的第三方软件比如说navicat来进行操作。

账号密码也就是你在取得web权限过后翻阅文件找到的,或者你通过其他的途径来找到的。

连接上了我们还要来判断mysql版本的问题。也可以在本地判断。

为什么要判断mysql版本

在MySQL 5.1版本及以后的环境下,udf提权时需要将udf.dll导出到mysql安装目录\lib\plugin\目录下。

在小于5.1的版本我们就在c:/windows或者system32来进行导出操作

如果目录没有的时候,我们要进行创建这个目录该怎么进行操作 ntfs的数据流进行操作

在文件上传的时候使用过 ::$data

我们在创建的时候是如果没有权限手工创建的时候,在使用下面的这个命令进行创建的操作 

select'xxx'into dumpfile 'C:\MySQL\lib\plugin::$INDEX_ALLOCATION';

我们要根据实际的情况来进行更改路径的操作

然后我们在来使用命令来看看这个目录创建好没有

show variables like 'plugin%';

 

这里看见好了,但是可能是表面现象,我们在要我们的webshell后台看见有这个目录了才是真的好了,我就在这里被折磨了半天的操作。

然后我们把文件目录弄好了过后,我们可以直接上工具。msf来进行提取的操作。

msf工具的使用:

使用模块:use exploit/multi/mysql/mysql_udf_payload

这个模块是直接使用的不用像以前监听让它上线然后在进行操作。

设置payload

RHOSTS 攻击mysql主机

LHOST 0.0.0.0 全部都可以进行访问

执行:set username 数据库用户名

    set password 数据库密码

    set rhosts 目标主机地址

 然后我们在进行run(开始攻击)

攻击完成,我们在看看我们生成的dll文件

使用的命令是 

select * from mysql.func;

我来说说直接生成的这个是不能进行使用的。

我们要自己在来生成一个来与这个dll文件进行绑定从而进行命令的输出。

下面来看看命令是:

create function sys_eval returns string soname "SSYOuXFD.dll";进行绑定的操作

 

然后我们就可以使用这个用户名来进行命令执行的操作了:

 总结: 

 我们的udf提权和反弹shell提权是类似的,反弹shell就是直接执行命令来建立这些操作,命令是写好了的通过编码进行操作的,也是创建dll文件。与udf提权是类似的。

在实际的提权操作还有很多妨碍我们的,我们会遇见很多的,导致提权不成功的操作。

mysql的udf提权前提:

1:要有数据库密码和账号

2:secure-file-priv=空或者写入的路径各个好是我们要写的地方

后面还会把sqlsever和orcal已经redis,postgre和利用第三方应用提权操作一起在写一个文章。

现在埋下伏笔:

postgre数据库提权就是利用18年和19年的2个漏洞

其实也不能说是提权吧自己感觉,只是利用了漏洞进行了任意命令执行操作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1881144.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

专题四:Spring源码初始化环境与BeanFactory

上文我们通过new ClassPathXmlApplicationContext("applicationContext.xml");这段代码看了下Spring是如何将Xml里面内容注入到Java对象中,并通过context.getBean("jmUser");方式获得了一个对象实例,而避开使用new 来耦合。今天我们…

Houdini速通VOP强化训练上部

Houdini 速通 VOP 强化训练上部是一门针对 Houdini 中 VOP(Vector Operation Language)的强化训练课程。本课程深入探讨了 Houdini 中 VOP 的核心概念和高级技术,通过实际案例和项目实战,帮助学员快速掌握 VOP 的使用技巧和编程方…

SpringBoot Task 定时任务

springboot中使用Task定时任务非常简单 springboot 中自带的都有注解不需要引入依赖 第一步:在启动类上添加启用定时任务注解 EnableScheduling //开启任务调度 第二步:创建一个springboot组件用于定时任务管理 package cn.lsy.api.Task;import cn.ls…

【Unity实战】在RHEL 9上安装UnityHub

一般来说,Unity编辑器的安装,官方已经给出了安装教程。 但是这个忽略了RHEL 9的一个特性:默认的加解密策略已经不支持SHA1了,你会在执行yum install unityhub那里出现如下报错: [shepherdlocalhost ~]$ sudo yum inst…

[C++][设计模式][备忘录模式]详细讲解

目录 1.动机2.模式定义3.要点总结4.代码感受 1.动机 在软件构建过程中,某些对象的状态转换过程中,可能由于某中需要,要求程序能够回溯到对象之前处于某个点的状态。 如果使用一些公开接口来让其他对象得到对象的状态,便会暴露对象…

66、基于长短期记忆 (LSTM) 网络对序列数据进行分类

1、基于长短期记忆 (LSTM) 网络对序列数据进行分类的原理及流程 基于长短期记忆(LSTM)网络对序列数据进行分类是一种常见的深度学习任务,适用于处理具有时间或序列关系的数据。下面是在Matlab中使用LSTM网络对序列数据进行分类的基本原理和流…

TomCat小型服务器安装

一、安装步骤 Tomcat官方站点: http://tomcat.apache.org 1、进入官方网站后获取安装包: 🤠tar.gz文件是Linux操作系统下的安装版本 🤠zip文件是Windows系统下的压缩版本 2、解压安装 解压到自己的文件夹中 3、安装JDK 设置环…

Go源码--context包

简介 Context 是go语言比较重要的且也是比较复杂的一个结构体,Context主要有两种功能: 取消信号:包括直接取消(涉及的结构体:cancelCtx ; 涉及函数:WithCancel)和携带截止日期的取消(涉及结构…

功能强大的声音模拟合成软件Togu Audio Line TAL-Mod 1.9.7

Togu Audio Line TAL一个虚拟模拟合成器,具有卓越的声音和几乎无限的调制能力。其特殊的振荡器模型能够创建广泛的声音,从经典的单声道到丰富的立体声引线、效果器和焊盘。路由可以使用虚拟跳线电缆来完成。只需连接调制输出以达到调制的目的。之后,您可以调整调制强度。您不…

dB分贝入门

主要参考资料: dB(分贝)定义及其应用: https://blog.csdn.net/u014162133/article/details/110388145 目录 dB的应用一、声音的大小二、信号强度三、增益 dB的应用 一、声音的大小 在日常生活中,住宅小区告知牌上面标示噪音要低…

Excel表格转Tex工具推荐

为了制作符合 SCI 论文要求的表格,直接用 LaTeX 编写通常比较复杂。我们可以先在 Excel 中绘制好所需的表格(最好加上边框)。最近我发现了一个非常好用的 Excel 转 LaTeX 工具,能够让 LaTeX 表格的编写变得非常方便。 工具&#…

数据资产治理的智能化探索:结合云计算、大数据、人工智能等先进技术,探讨数据资产治理的智能化方法,为企业提供可靠、高效的数据资产解决方案,助力企业提升竞争力

一、引言 在信息化时代,数据已成为企业最重要的资产之一。随着云计算、大数据、人工智能等先进技术的飞速发展,数据资产治理面临着前所未有的机遇与挑战。本文旨在探讨如何结合这些先进技术,实现数据资产治理的智能化,为企业提供…

X科网js逆向分析

登录抓包之后发现pwd字眼,直接搜索即可 通过$.md5(pwd)之后得到的加密结果就是我们的pwd参数 他说是md5我们不妨测试一下: 1)测试使用$.md5(1)加密数字1 得到c4ca4,说明就是$.md5(),md5加密 2)测试$.md5…

神经网络在机器学习中的应用:手写数字识别

机器学习是人工智能的一个分支,它使计算机能够从数据中学习并做出决策或预测。神经网络作为机器学习的核心算法之一,因其强大的非线性拟合能力而广泛应用于各种领域,包括图像识别、自然语言处理和游戏等。本文将介绍如何使用神经网络对MNIST数…

独一无二的设计模式——单例模式(Java实现)

1. 引言 亲爱的读者们,欢迎来到我们的设计模式专题,今天的讲解的设计模式,还是单例模式哦!上次讲解的单例模式是基于Python实现(独一无二的设计模式——单例模式(python实现))的&am…

【数据结构】C语言实现二叉树的基本操作——二叉树的层次遍历、求深度、求结点数……

C语言实现二叉树的基本操作 导读一、层次遍历1.1 算法思路1.2 算法实现1.2.1 存储结构的选择1.2.2 函数的三要素1.2.3 函数的实现 1.3 小结 二、求二叉树的深度2.1 层序遍历2.2 分治思想——递归 三、 求二叉树的结点数3.1 求二叉树的结点总数3.1.1 层序遍历3.1.2 分治思想——…

SpringBoot | 使用jwt令牌实现登录认证,使用Md5加密实现注册

对于登录认证中的令牌,其实就是一段字符串,那为什么要那么麻烦去用jwt令牌?其实对于登录这个业务,在平常我们实现这个功能时,可能大部分都是通过比对用户名和密码,只要正确,就登录成功&#xff…

【Python实战因果推断】9_元学习器4

目录 Double/Debiased Machine Learning Double/Debiased Machine Learning Double/Debiased ML 或 R-learner 可以看作是 FrischWaugh-Lovell 定理的改进版。其思路非常简单--在构建结果和治疗残差时使用 ML 模型 结果和干预残差: , 预估,预估 由于 …

Python pdfkit wkhtmltopdf html转换pdf 黑体字体乱码

wkhtmltopdf 黑体在html转换pdf时&#xff0c;黑体乱码&#xff0c;分析可能wkhtmltopdf对黑体字体不太兼容&#xff1b; 1.html内容如下 <html> <head> <meta http-equiv"content-type" content"text/html;charsetutf-8"> </head&…

springboot使用测试类报空指针异常

检查了Service注解&#xff0c;还有Autowired注解&#xff0c;还有其他注解&#xff0c;后面放心没能解决问题&#xff0c;最后使用RunWith(SpringRunner.class)解决了问题&#xff01;&#xff01; 真的是✓8了&#xff0c;烦死了这个✓8报错&#xff01;