数据库到服务器提权

数据库提权流程:

1、先获取到数据库用户密码

-网站存在SQL注入漏洞

-数据库的存储文件或备份文件

-网站应用源码中的数据库配置文件

-采用工具或脚本爆破(需解决外联问题)

2、利用数据库提权项目进行连接

MDUT //jkd1.8 启动

Databasetools //bug多

RequestTemplate //jdk1.8启动

https://github.com/SafeGroceryStore/MDUT

https://github.com/Hel10-Web/Databasetools

https://github.com/1n7erface/RequestTemplate

3、可利用建立代理解决不支持外联

-利用已知Web权限建立代理(等同于本地连接)

-利用已知权限执行SQL开启外联(让数据库支持外联)

GRANT ALL PRIVILEGES ON *.* TO '帐号'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;

flush privileges;

4、可利用数据库提权类型条件及技术

-MYSQL:PHP+MYSQL 以web入口提权

条件:ROOT密码(高版本的-secure-file-priv没进行目录限制)

技术:UDF MOF 启动项 反弹Shell

-MSSQL:.NET+MSSQL 以web入口提权

条件:sa密码

技术:xp_cmdshell sp_oacreate CLR 沙盒

-Oracle:(站库分离,非JSP,直接数据库到系统等)

条件:数据库用户密码

技术:DBA,普通用户,注入模式

Linux数据库

-PostgreSQL

Web到系统

条件:数据库用户密码

技术:CVE-2019-9193 UDF libc

复现镜像:

https://market.aliyun.com/products/56024006/cmjj016247.html

DROP TABLE IF EXISTS cmd_exec;

CREATE TABLE cmd_exec(cmd_output text);

COPY cmd_exec FROM PROGRAM 'id';

SELECT * FROM cmd_exec;

-Redis

数据库到Linux

条件:利用未授权或密码连接后执行

见第78天课程内容-只适用Linux

技术:写密钥ssh 计划任务 反弹shell CVE2022沙盒执行

复现搭建:

wget http://download.redis.io/releases/redis-2.8.17.tar.gz

tar xzf redis-2.8.17.tar.gz

cd redis-2.8.17

make

cd src

/redis-server

#第三方软件提权:

远控类:Teamviewer 向日葵 Todesk VNC Radmin等

密码类:各大浏览器 Xshell Navicat 3389 等

服务类:FileZilla Serv-u Zend等

文档类:Winrar WPS Office等

原理:

1、通过普通用户或Web用户收集或提取有价值凭据进行提升

2、通过普通用户或Web用户上传类似钓鱼文件等待管理提升

演示:

1、计算机用户:Teamviewer

2、计算机用户:NavicatPremium

3、计算机用户或WEB权限:Winrar(CVE2023)

4、计算机用户:浏览器密码凭据

相关推荐
琪阿不会编程2 分钟前
Mysql8 忘记密码重置,以及问题解决
android·数据库·sql·mysql
Villiam_AY15 分钟前
redis主从复制
数据库·redis·缓存
甜甜的资料库36 分钟前
基于微信小程序的作业管理系统源码数据库文档
java·数据库·微信小程序·小程序
甜甜的资料库39 分钟前
基于微信小程序的车位共享平台的设计与实现源码数据库文档
数据库·微信小程序·小程序
中科三方2 小时前
什么是权威解析服务器?权威解析服务器哪些作用?
服务器·git·github
七灵微2 小时前
【后端】单点登录
服务器·前端
weixin_307779135 小时前
Clickhouse统计指定表中各字段的空值、空字符串或零值比例
运维·数据仓库·clickhouse
bubiyoushang8885 小时前
Windows11 WSL2 Ubuntu编译安装perf工具
linux·运维·ubuntu
xuanwojiuxin6 小时前
linux panic-propagation
linux·运维·服务器
why1517 小时前
微服务商城-商品微服务
数据库·后端·golang