一、获取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数据库提权(一)的更多相关文章

  1. MSSQL和MYSQL数据库降权

    在服务器上如果是 system 用户在运行 MySQL ,这个是非常危险的,一旦Mysql 出现漏洞,或被其他模式提权,直接就是 system 权限.所以我们现在要给MySQL降权! 作用:增强服务器 ...

  2. mysql udf提权实战测试

    根据前天对大牛们的资料学习,进行一次mysql udf提权测试. 测试环境: 受害者系统:centos 7.7 ,docker部署mysql5.6.46, IP:192.168.226.128 攻击者 ...

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

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

  4. 内网学习之MySQL服务提权

    利用MySQL提权原理: 1.具有mysql的root权限,且mysql以system权限运行. 2.具有执行sql语句的权限,webshell或者外连皆可 UDF提权 UDF(user define ...

  5. Mysql UDF提权方法

    0x01 UDF UDF(user defined function)用户自定义函数,是mysql的一个拓展接口.用户可以通过自定义函数实现在mysql中无法方便实现的功能,其添加的新函数都可以在sq ...

  6. MySQL UDF提权执行系统命令

    目录 UDF UDF提权步骤 UDF提权复现(php环境) UDF UDF (user defined function),即用户自定义函数.是通过添加新函数,对MySQL的功能进行扩充,其实就像使用 ...

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

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

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

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

  9. mysql UDF提权问题

    测试UDF提权,时候遇到问题,创建函数shell提示存在 当执行操作的时候又提示,shell函数不存在. FUNCTION mysql.shell does not exist 如果在测试环境下,一般 ...

随机推荐

  1. Java常用类之时间类

    JDK8之前日期时间API 1. java.lang.System类 2. java.util.Date类 3. java.text.SimpleDateFormat类 4. java.util.Ca ...

  2. HttpClient4.3教程 第三章 Http状态管理

    最初,Http被设计成一个无状态的,面向请求/响应的协议,所以它不能在逻辑相关的http请求/响应中保持状态会话.由于越来越多的系统使用http协议,其中包括http从来没有想支持的系统,比如电子商务 ...

  3. mongodb重启报错解决

    mongodb关闭后重启失败 connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName= ...

  4. J2EE之DAO设计模式及简单实现

    JAVAEE(Java Enterprise Edition ) 模式 : DAO模式 因此在了解DAO模式之前,我们先来学习一下Java EE的体系结构: (一)JavaEE体系结构 客户端: 客户 ...

  5. QT学习日记篇-02-QT信号和槽

    课程大纲: <1>给控件改名字 随着UI界面的控件变多,如果使用系统自带的名称,后期会让人不明觉厉,说白了,就是掌握C++的命名规则:易懂,条例清晰,人性化 方法:直接点击控件,进入右侧对 ...

  6. PyQT5:信号和槽

    PyQT5:信号和槽 信号和槽 Qt的主要特征之一是它使用信号和插槽在对象之间进行通信. 当潜在的事件发生时,会发出一个信号.插槽是可调用的Python,如果将信号连接到插槽,则在发出信号时将调用该插 ...

  7. volatile的基本原理

    volatile这个关键字可能很多朋友都听说过,或许也都用过.在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果.在Java 5之后,volatile关键字才得以 ...

  8. Python - 面向对象编程 - 实战(4)

    需求:士兵突进 士兵许三多有一把 AK47 士兵可以开火 枪能够发射子弹 枪装填子弹,可以增加子弹数量 需求分析 很明显有两个类:士兵类,枪类 AK47 是枪名,是枪类的属性,每把枪都有子弹数,所以子 ...

  9. 腾讯与Intel就云游戏的探讨

    今天去参加了在腾讯北京总部的腾讯音视频技术 HUB 技术巡回大会,对其中的云游戏应用的探讨格外感兴趣.正巧最近元宇宙概念很火,这篇文章就大会中对云游戏的探讨进行总结和汇报. 讲述一下来自Intel的工 ...

  10. openswan源码ubantu下编译、安装、基本环境搭建

    openswan的编译过程 文章目录 openswan的编译过程 1. 下载源码: 2. 在虚拟机上解压后编译: 2.1 查看INSTALL文件 2.2 查看文件buildlin.sh文件 3. 查看 ...