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



以上这些文件都有包含连接数据库的信息,包括连接账号,密码,数据库名等等,
2.如果在这些文件里找不到需要连接数据库的信息,可以到数据库的安装目录下找,默认目录为:C:\phpStudy2016\MySQL\data\mysql,在此目录下找到user.myd文件,里面记录了登录账号和密码

3.通过暴力破解得到账号和密码,这个步骤比较麻烦一些,再有一个,Mysql默认不允许远程连接,所以要暴力破解,只能通过脚本来进行破解,获取账号密码,运行一个脚本文件,用弱口令加字典扫描,来破解数据库用户和密码


在顶端显示已经将用户名和密码爆破出来,另外暴力破解还可以使用工具,如:hscan、Bruter、hydra(九头蛇)等,但是这些工具的使用前提是数据库开启对外远程连接,
登录到mysql中,为root远程访问授予权限,执行语句:
mysql>GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";
mysql>flush privileges;

通过远程机访问MySQL数据库:


telnet远程连接已经可以看得到数据库的版本信息,
除了语句开启远程连接之外,还可以用大马(php)脚本来开启:


开启成功之后,再利用专业的数据库连接工具,来远程连接
比如Navicat for MySQL可视化工具

另外用脚本的方式连接:

可以选定某一个数据库,在左上角导出,可以导出到本地,此过程也称为托库,
另外再使用Bruter工具,挂载字典来破解

二、数据库提权
1.UDF提权
需要注意的是,MySQL版本小于5.1,udf文件放在:C:\\WINDOWS\\udf.dll或者C:\\WINDOWS\\system32\\udf.dll,
MySQL等于5.1版本的时候,udf文件在:%mysql%\\plugin\\udf.dll ,用select @@plugin dir 查询plugin文件路径,默认的在C:/Program File/MySQL/MySQl Server5.1/lib/plugin/udf.dll,如果安装了phpstudy,目录可能就在C:\php\MySQL-5.1.50\lib\plugin\udf.dll,在以上的步骤中,已经将远程连接打开,直接使用提权工具来连接

看到目前的版本是5.5.53,大于5.1版本,提示将udf文件导入到lib\plugin目录
使用菜刀工具连接到目标主机,

在phpstudy/MySQL/lib下创建plugin目录,再回到MySQl提权工具导入udf.dll文件

新建号好之后,回到MySQL提权工具

发现导入失败,原因之一可能是数据库的配置文件中:secure_file_priv="";

设置为空后,退出重启MySQL服务,再来工具导入

发现可以导入成功,并且在真实目录下也能看到udf.dll文件

现在就可以在工具中执行数据库命令:Create Function cmdshell returns string soname 'udf.dll';语句的意思是通过udf文件来创建一个cmdshell函数,执行创建后,就可以用它(cmdshell)来操作数据库其他命令,

2.执行"ver"命令:

3.执行"net user"命令:

4.远程开启3389端口,因为执行3389是一个函数,所以要先创建类似于cmdshell的3389()函数,


此时目标机是没有开启3389远程端口,

执行3389()函数命令,


再来看远程桌面状态

已经开启了3389端口,我们可以远程连接到它的服务器,进行后续操作,
以上UDF是在允许远程连接的情况下进行,如果不允许远程连接的情况下,可以运行脚本(kill.php)来辅助udf提权,之所以叫它kill,通杀所有的udf提权


先将moonudf.dll文件导出


成功导出,
5.如同提权工具类似,执行命令之前首先要创建执行该命令的命令执行函数

执行后

语句无报错,说明创建成功,执行查看用户命令:

执行成功,也可以手工创建用户(普通):

此脚本最大的优点在于,如果对方的3306端口完全没有开放,我们可以用菜刀将此脚本传入对方主机,通过的方式web访问脚本,创建函数,来做命令执行,远程开放对方的某些端口,
综上就是数据库UDF提权的所有步骤。
MySQL数据库提权(一)的更多相关文章
- MSSQL和MYSQL数据库降权
在服务器上如果是 system 用户在运行 MySQL ,这个是非常危险的,一旦Mysql 出现漏洞,或被其他模式提权,直接就是 system 权限.所以我们现在要给MySQL降权! 作用:增强服务器 ...
- mysql udf提权实战测试
根据前天对大牛们的资料学习,进行一次mysql udf提权测试. 测试环境: 受害者系统:centos 7.7 ,docker部署mysql5.6.46, IP:192.168.226.128 攻击者 ...
- 【汇总】数据库提权(mysql、mssql)
日期:2018-04-03 11:46:45 作者:Bay0net 介绍:利用 mssql 的 sa 账号提权.利用 MySQL 的 UDF 提权 0x01.mssql 提权 恢复 xp_cmdshe ...
- 内网学习之MySQL服务提权
利用MySQL提权原理: 1.具有mysql的root权限,且mysql以system权限运行. 2.具有执行sql语句的权限,webshell或者外连皆可 UDF提权 UDF(user define ...
- Mysql UDF提权方法
0x01 UDF UDF(user defined function)用户自定义函数,是mysql的一个拓展接口.用户可以通过自定义函数实现在mysql中无法方便实现的功能,其添加的新函数都可以在sq ...
- MySQL UDF提权执行系统命令
目录 UDF UDF提权步骤 UDF提权复现(php环境) UDF UDF (user defined function),即用户自定义函数.是通过添加新函数,对MySQL的功能进行扩充,其实就像使用 ...
- Oracle数据库提权(dba权限执行系统命令)
0x01 提权准备 这里我们先创建一个低权限的用户test SQL> conn sys/admin123@orcl as sysdba; 已连接. SQL> create user tes ...
- Oracle数据库提权(低权限提升至dba)
0x01 Oracle存储过程”缺陷” 在 Oracle 的存储过程中,有一个有趣的特点:运行权限.运行权限分为两种,definer 和 invoker. definer 为函数创建者的权限,而 in ...
- mysql UDF提权问题
测试UDF提权,时候遇到问题,创建函数shell提示存在 当执行操作的时候又提示,shell函数不存在. FUNCTION mysql.shell does not exist 如果在测试环境下,一般 ...
随机推荐
- LeetCoded第20题题解--有效的括号
有效的括号 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭合. 左括号必须以正确的顺序闭合. 注意空 ...
- 刷题-力扣-107. 二叉树的层序遍历 II
107. 二叉树的层序遍历 II 题目链接 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/binary-tree-level-order-tr ...
- 【C语言】第1章 程序设计与C语言
第1章 程序设计与C语言 程序:一组计算机能识别和执行的 指令. 计算机语言:人和计算机交流信息的.计算机和人都能识别的语言 C语言允许用两种注释方式: //:单行注释 可单独占一行 可出现在一行中其 ...
- WSL(Ubuntu)下安装Redis
一.安装 输入命令安装redis-server sudo apt-get install redis-server 安装完成后打开redis.conf文件,找到bind 127.0.0.1,更改为bi ...
- VS Code 1.60 发布!竟然可以自动检测编程语言了!
北京时间 2021 年 9 月 3 日凌晨,微软正式发布 2021 年 8 月版的 Visual Studio Code.希望您会喜欢此版本中的许多更新与改进,以下是其中的一些亮点: * 自动语言检测 ...
- vue + WangEnduit
components 注册组件 <template lang="html"> <div class="editor"> <div ...
- 20210804 noip30
考场 第一眼感觉 T1 是状压 DP,弃了.T2 好像也是 DP???看上去 T3 比较可做. 倒序开题.T3 暴力是 \(O(pn\log p)\)(枚举 \(x\),二分答案,看能否分成合法的不超 ...
- Python习题集(十五)
每天一习题,提升Python不是问题!!有更简洁的写法请评论告知我! https://www.cnblogs.com/poloyy/category/1676599.html 题目 请写一个函数,该函 ...
- docker的网络基础
docker使用的与Linux网络有关的主要技术: Network Namespace Veth 设备对 Iptables/Netfilter 网桥 路由 <1> 网络命令空间 names ...
- redis存取数据sortedSet
有序比无序的更耗性能 一.存取元素 1.添加元素,value存在则替换score值,不存在则添加: 2.获取某个元素的分数 3. 4.获取一定索引区间元素value值,默认按照对应score升序排序: ...