一、获取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. C++ 保存读取二进制

    一.保存二进制 #include <iostream> #include <fstream> int main(){ float* output = new float[100 ...

  2. uwp 之多媒体开发

    xml code ----------------------------------------------------- <Page x:Class="MyApp.MainPage ...

  3. 一 MongoDB入门

    一.MongoDB概念解析(对比MySQL学习): 举个例子: MongoDB可视化操作工具:推荐Robomongo 二.MongoDB默认的概念: 1.MongoDB的单个实例可以容纳多个独立的数据 ...

  4. 如何将eclipse中项目部署到tomcat

    项目路径: \tmp0\wtpwebapps\test 复制test目录到 D:\software_install\apache-tomcat-8.0.33-windows-x64\apache-to ...

  5. 微信小程序学习笔记五 常见组件

    1. 常见组件 重点讲解小程序中常用的布局组件 1.1 view 代替 原来的div标签 <!-- pages/index/index.wxml --> <view hover-cl ...

  6. vue2+vite初体验

    前言 自从 vite 发布之后,社区赞誉无数,而我也一直心水 vite 的轻量快速的热重载的特性,特别是公司的项目巨大,已经严重拖慢了热重载的速度了,每次热重载都要等上一小会,所以急需寻找一个解决方案 ...

  7. 【CSS】拼图验证练习

    抄自B站Up主CodingStartup起码课 <!DOCTYPE html> <html lang="en"> <head> <meta ...

  8. Python - typing 模块 —— Union

    前言 typing 是在 python 3.5 才有的模块 前置学习 Python 类型提示:https://www.cnblogs.com/poloyy/p/15145380.html 常用类型提示 ...

  9. CUDA 矩阵乘法终极优化指南

    作者:马骏 | 旷视 MegEngine 架构师 前言 单精度矩阵乘法(SGEMM)几乎是每一位学习 CUDA 的同学绕不开的案例,这个经典的计算密集型案例可以很好地展示 GPU 编程中常用的优化技巧 ...

  10. 路由懒加载---Vue Router

    一.什么是懒加载? 懒加载也就是延迟加载或者按需加载,即在需要的时候进行加载. 二.为什么在Vue路由中使用懒加载? 像vue这种单页面应用,如果没有应用懒加载,运用webpack打包后的文件将会异常 ...