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

常见中间件漏洞复现之【Jboss】!

Jboss介绍

            JBoss是⼀个基于J2EE的开发源代码的应⽤服务器。JBoss代码遵循LGPL许可,可以在任何商业应⽤中免费使⽤。JBoss是⼀个管理EJB的容器和服务器,⽀持EJB1.1、EJB 2.0和EJB3的规范。但JBoss核⼼服务不包括⽀持servlet/JSP的WEB容器,⼀般与Tomcat或Jetty绑定使⽤。在J2EE应⽤服务器领域,JBoss是发展最为迅速应⽤服务器。由于JBoss遵循商业友好的LGPL授权分发,并且由开源社区开发,这使得JBoss⼴为流⾏。
------------------------

CVE-2015-7501

          Jboss JMXInvokerServlet 反序列化漏洞

---------------------

漏洞介绍

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

影响范围

JBoss Enterprise Application Platform 6.4.4,5.2.0,4.3.0_CP10
JBoss AS (Wildly) 6 and earlier
JBoss A-MQ 6.2.0
JBoss Fuse 6.2.0
JBoss SOA Platform (SOA-P) 5.3.1
JBoss Data Grid (JDG) 6.5.0
JBoss BRMS (BRMS) 6.1.0
JBoss BPMS (BPMS) 6.1.0
JBoss Data Virtualization (JDV) 6.1.0
JBoss Fuse Service Works (FSW) 6.0.0
JBoss Enterprise Web Server (EWS) 2.1,3.0
----------------------

环境搭建

cd vulhub-master/jboss/JMXInvokerServlet-deserialization
docker-compose up -d
----------------------

漏洞复现

搭建环境打开

.POC,访问地址
http://1.15.136.212:8080/invoker/JMXInvokerServlet
返回如下,说明接口开放,此接口存在反序列化漏洞

访问地址/invoker/JMXInvokerServlet自动下载如下文件 

下载工具

GitHub - frohoff/ysoserial: A proof-of-concept tool for generating payloads that exploit unsafe Java object deserialization.

将反弹shell进行base64编码

打开kali开始监听

 

 ---------------------------

 漏洞修复

          升级版本

----------------------------------

CVE-2017-7504

            JBossMQ JMS 反序列化漏洞
-----------------

漏洞介绍

          JBoss AS 4.x及之前版本中,JbossMQ实现过程的JMS over HTTP Invocation Layer的
HTTPServerILServlet.java⽂件存在反序列化漏洞,远程攻击者可借助特制的序列化数据利⽤该漏洞执行任意代码执行
----------------

影响范围

JBoss 4.x 以及之前的所有版本
----------------

环境搭建

cd vulhub-master/jboss/CVE-2017-7504
docker-compose up -d
----------------

漏洞复现

访问漏洞地址
http://1.15.136.212:8080/jbossmq-httpil/HTTPServerILServlet

使用jexboss.py获取shell 

成功获取

 

-------------------------------------

CVE-2017-12149

              JBoss 5.x/6.x反序列化漏洞

漏洞简述

            该漏洞为 Java反序列化错误类型,存在于 Jboss 的 HttpInvoker 组件中的 ReadOnlyAccessFilter过滤器中。该过滤器在没有进行任何安全检查的情况下尝试将来⾃客户端的数据流进行反序列化,从而导 致了漏洞
-------------------

漏洞范围

JBoss 5.x/6.x
------------------

环境搭建

cd vulhub-master/jboss/CVE-2017-12149
docker-compose up -d
-----------------

漏洞复现

访问漏洞页面,看jboss版本
http://1.15.136.212:8080

显示500证明存在漏洞

打开jboss反序列化软件 将网址放入 cmd内输入想执行的代码

 ---------------------

漏洞修复

1.不需要 http-invoker.sar 组件的⽤户可直接删除此组件。
2.添加如下代码⾄ http-invoker.sar 下 web.xml 的 security-constraint 标签中,对 http invoker 组件
进行访问控制:
3.升级新版本。
-----------------------------------

Administration Console弱口令

漏洞描述

              Administration Console管理⻚⾯存在弱⼝令,`admin:admin`,登陆后台上传war包 , getshell
---------------------

影响版本

全版本
--------------------

环境搭建

因为这里用的环境是CVE-2017-12149的靶机
cd vulhub-master/jboss/CVE-2017-12149
docker-compose up -d
-------------------

密码文件

/jboss-6.1.0.Final/server/default/conf/props/jmx-console-users.properties
账户密码:admin:vulhub
-------------------

漏洞复现

     搭建好环境 进入

登录后台
admin vulhub

点击上传 上传一个木马文件

上传成功 

访问jsp文件并用哥斯拉进行连接测试

-----------------------------------

低版本JMX Console未授权

                    低版本JMX Console未授权访问Getshell

漏洞描述

              此漏洞主要是由于JBoss中/jmx-console/HtmlAdaptor路径对外开放,并且没有任何身份验证机制,导致攻击者可以进⼊到 jmx控制台,并在其中执⾏任何功能。
------------------

影响范围

Jboss4.x以下
------------------

环境搭建

cd vulhub-master/jboss/CVE-2017-7504
docker-compose up -d
-------------------

漏洞复现

访问
http://1.15.136.212:8080/jmx-console/

点击左侧的deployment  

在右边的输入框内输入下载的war地址然后点击invoke 

提示成功证明上传成功 

访问上传的war内的jsp用哥斯拉进行测试连接 

 

-----------------------------------------

⾼版本JMX Console未授权

漏洞描述

          JMX Console默认存在未授权访问,直接点击JBoss主⻚中的 JMX Console 链接进⼊JMX Console页面, 通过部署war包 , getshell
------------------------

影响版本

Jboss6.x以下
------------------------

环境搭建

cd vulhub-master/jboss/CVE-2017-12149
docker-compose up -d
------------------------

漏洞复现

http://1.15.136.212:8080/jmx-console/
因为使用环境不存在该漏洞所以需要输⼊账户密码:admin admin

本地搭建部署点 

       进⼊service=MainDeployer⻚⾯之后,找到methodIndex为17或19的deploy 填写远程war包地址进⾏远程部署 

用冰蝎生成jsp木马—>压缩到zip中—>改后缀名为.war 

 

 连接Webshell......

----------------------------

实战挖洞

FOFA语句
title=
"Welcome to JBoss AS" && country!="CN"

相关文章:

常见中间件漏洞复现之【Jboss】!

Jboss介绍 JBoss是⼀个基于J2EE的开发源代码的应⽤服务器。JBoss代码遵循LGPL许可,可以在任何商业应⽤中免费使⽤。JBoss是⼀个管理EJB的容器和服务器,⽀持EJB1.1、EJB 2.0和EJB3的规范。但JBoss核⼼服务不包括⽀持servlet/JSP的WEB容器,⼀般…...

Java常用中间件(后续更新)

常用Java中间件总结 目录 引言什么是中间件常见的Java中间件 1. 消息队列中间件 1.1 RabbitMQ1.2 Apache Kafka 2. 数据库中间件 2.1 MySQL Proxy2.2 Hibernate 3. 服务治理中间件 3.1 Spring Cloud3.2 Dubbo 4. 缓存中间件 4.1 Redis4.2 Ehcache 总结 引言 在现代软件开发…...

网站或者网页Cookie 启用说明

背景说明 有时候登录网站的时候,某些网站的主页会弹出‘Cookie启用’的提示,比较好奇,于是就特别去查询相关资料研究了一下,以下是一个网页demo提示: 说明 Cookie 是一种在 Web 开发中广泛使用的机制&#xf…...

Java 抽象知识笔记总结(油管)

Java系列文章目录 Java Optional 容器笔记总结 文章目录 Java系列文章目录一、前言二、学习内容:三、问题描述四、解决方案:4.1 抽象类的使用4.2 抽象类与接口的区别4.2.1 接口复习4.2.2 具体区别4.2.3 使用场景4.2.3.1 抽象类使用场景4.2.3.2 接口使用…...

鲜花销售小程序的设计

管理员账户功能包括:系统首页,个人中心,用户管理,农户管理,产品分类管理,农产品管理,咨询信息管理,咨询回复管理,系统管理 微信端账号功能包括:系统首页&…...

Golang | Leetcode Golang题解之第324题摆动排序II

题目&#xff1a; 题解&#xff1a; func wiggleSort(nums []int) {n : len(nums)x : (n 1) / 2target : quickSelect(nums, x-1)transAddress : func(i int) int { return (2*n - 2*i - 1) % (n | 1) }for k, i, j : 0, 0, n-1; k < j; k {tk : transAddress(k)if nums[t…...

32、Python之面向对象:对象的表示,再论Python是dict包括语法糖

引言 在前面介绍Python容器的时候&#xff0c;我们曾经用过这种夸张的表述&#xff0c;“Python就是包裹在一堆语法糖中的字典”。虽然夸张&#xff0c;其实更多的是为了突出Python中dict的强大之处。今天这篇文章&#xff0c;打算看下Python中类对象、实例对象的表示及内存管理…...

高级java每日一道面试题-2024年8月07日-网络篇-你对TCP的三次握手了解多少?

如果有遗漏,评论区告诉我进行补充 面试官: 你对TCP的三次握手了解多少? 我回答: TCP&#xff08;Transmission Control Protocol&#xff09;的三次握手是TCP建立连接的过程&#xff0c;它是TCP/IP协议族中一个关键的概念。三次握手确保了双方之间的连接是双向的&#xff0…...

vite.config.ts中proxy的rewrite理解

服务器配置都是在开发情况下适用&#xff01;&#xff01; // 服务器配置 server: {//允许IP访问host: "0.0.0.0",//应用端口&#xff08;默认&#xff1a;3000&#xff09;port: Number(env.VITE_APP_PORT),// 运行是否自动打开浏览器open: true,// 代理配置proxy:…...

大数据环境下用户数据隐私安全防护系统的设计与实现(论文+源码)_kaic

摘 要 现如今互联网已在世界范围内广泛的应用和发展&#xff0c;特别是移动互联网Web 技术快速发展&#xff0c;然而最近几年经常发生互联网用户信息泄露及财产损失问题&#xff0c;网络安全漏洞严重威胁Web应用程序安全及互联网用户的网络使用安全&#xff0c;因此现急需一…...

基于springboot+vue+uniapp的“口腔助手”小程序

开发语言&#xff1a;Java框架&#xff1a;springbootuniappJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#…...

算法刷题之链表

// 单链表 struct ListNode {int val; // 节点上存储的元素ListNode *next; // 指向下一个节点的指针ListNode(int x) : val(x), next(NULL) {} // 节点的构造函数 };ListNode* head new ListNode(5); 重要方法&#xff1a;虚拟头节点 个人方法&#xff1a;指针转为数组…...

C# 设计模式之适配器模式

总目录 前言 在实际的开发过程中&#xff0c;由于需求的变化和扩展&#xff0c;我们的代码也需要做相应的扩展。想象这样一个场景&#xff0c;原项目中接口返回的数据是XML格式的数据&#xff0c;但现在来了一个新客户&#xff0c;它期望接口返回的数据类型为json格式的。想要…...

BFS实现迷宫最短路径

结合队列的知识利用 广度优先遍历&#xff0c;通过对能走的路径的记录以及对走过路径的标记&#xff0c;进行多条路搜查 一、理论基础 如下图的迷宫&#xff1a; 选取所走方向&#xff08;针对某一个位置&#xff09;下&#xff0c;右&#xff0c;上&#xff0c;左&#xff0…...

Linux IPC解析:匿名命名管道与共享内存

目录 一.IPC机制介绍二.匿名与命名管道1.匿名管道2.命名管道3.日志 三.共享内存三.System V 标准1.System V简介2.IPC在内核的数据结构设计3.信号量 一.IPC机制介绍 IPC&#xff08;Inter-Process Communication&#xff0c;进程间通信&#xff09;是计算机系统中不同进程之间交…...

Codeforces Round 964 (Div. 4) A~G

封面原图 画师ideolo A - AB Again? 题意 给你一个两位数&#xff0c;把他的个位和十位加起来 代码 #include <bits/stdc.h> using namespace std; typedef long long ll; typedef double db; typedef pair<int,int> pii; typedef pair<ll,ll> pll;voi…...

单体应用提高性能和处理高并发-使用缓存

要在单体应用中实现高并发&#xff0c;并利用缓存技术来提高性能&#xff0c;需要深入了解缓存的应用场景、选择合适的缓存工具&#xff0c;以及在具体代码中实现缓存策略。以下是详细说明如何在单体应用中使用缓存来处理高并发的内容&#xff0c;包括常见的缓存框架和实际的代…...

ollama教程——使用LangChain调用Ollama接口实现ReAct

ollama入门系列教程简介与目录 相关文章: Ollama教程——入门:开启本地大型语言模型开发之旅Ollama教程——模型:如何将模型高效导入到Ollama框架Ollama教程——兼容OpenAI API:高效利用兼容OpenAI的API进行AI项目开发Ollama教程——使用LangChain:Ollama与LangChain的强强…...

【Bug分析】Keil报错:error: #18:expected a “)“问题解决

【Bug分析】Keil报错&#xff1a;error: #18:expected a “&#xff09;”问题解决 前言bug查找bug解决方法小结 前言 keil编译时出现一个问题&#xff0c;缺少一个右括号。然后仔细查看代码&#xff0c;并没有括号缺失。 如下&#xff0c;代码括号正常。 bug查找 站内文章…...

MAC上设置快捷打开终端以及如何运用剪切快捷键

在Mac上设置一个快捷键&#xff0c;在当前文件夹中打开终端&#xff0c;你可以使用Automator创建一个服务&#xff0c;然后将其分配给一个快捷键。以下是步骤&#xff1a; 1. 创建Automator服务 打开 Automator&#xff08;你可以在应用程序文件夹中找到它&#xff0c;或使用…...

反向工程与模型迁移:打造未来商品详情API的可持续创新体系

在电商行业蓬勃发展的当下&#xff0c;商品详情API作为连接电商平台与开发者、商家及用户的关键纽带&#xff0c;其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息&#xff08;如名称、价格、库存等&#xff09;的获取与展示&#xff0c;已难以满足市场对个性化、智能…...

Neo4j 集群管理:原理、技术与最佳实践深度解析

Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用

1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建

华为云FlexusDeepSeek征文&#xff5c;DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色&#xff0c;华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型&#xff0c;能助力我们轻松驾驭 DeepSeek-V3/R1&#xff0c;本文中将分享如何…...

vue3+vite项目中使用.env文件环境变量方法

vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量&#xff0c;这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

AI,如何重构理解、匹配与决策?

AI 时代&#xff0c;我们如何理解消费&#xff1f; 作者&#xff5c;王彬 封面&#xff5c;Unplash 人们通过信息理解世界。 曾几何时&#xff0c;PC 与移动互联网重塑了人们的购物路径&#xff1a;信息变得唾手可得&#xff0c;商品决策变得高度依赖内容。 但 AI 时代的来…...

群晖NAS如何在虚拟机创建飞牛NAS

套件中心下载安装Virtual Machine Manager 创建虚拟机 配置虚拟机 飞牛官网下载 https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.2-863.iso 群晖NAS如何在虚拟机创建飞牛NAS - 个人信息分享...

图解JavaScript原型:原型链及其分析 | JavaScript图解

​​ 忽略该图的细节&#xff08;如内存地址值没有用二进制&#xff09; 以下是对该图进一步的理解和总结 1. JS 对象概念的辨析 对象是什么&#xff1a;保存在堆中一块区域&#xff0c;同时在栈中有一块区域保存其在堆中的地址&#xff08;也就是我们通常说的该变量指向谁&…...

raid存储技术

1. 存储技术概念 数据存储架构是对数据存储方式、存储设备及相关组件的组织和规划&#xff0c;涵盖存储系统的布局、数据存储策略等&#xff0c;它明确数据如何存储、管理与访问&#xff0c;为数据的安全、高效使用提供支撑。 由计算机中一组存储设备、控制部件和管理信息调度的…...

新版NANO下载烧录过程

一、序言 搭建 Jetson 系列产品烧录系统的环境需要在电脑主机上安装 Ubuntu 系统。此处使用 18.04 LTS。 二、环境搭建 1、安装库 $ sudo apt-get install qemu-user-static$ sudo apt-get install python 搭建环境的过程需要这个应用库来将某些 NVIDIA 软件组件安装到 Je…...