CVE-2017-12149 JBoss JMXInvokerServlet 反序列化漏洞

一、漏洞概述

        2017年8月30日,厂商Redhat发布了一个JBOSSAS 5.x 的反序列化远程代码执行漏洞通告。该漏洞位于JBoss的HttpInvoker组件中的 ReadOnlyAccessFilter 过滤器中,其doFilter方法在没有进行任何安全检查和限制的情况下尝试将来自客户端的序列化数据流进行反序列化,导致攻击者可以通过精心设计的序列化数据来执行任意代码。但近期有安全研究者发现JBOSSAS 6.x也受该漏洞影响,攻击者利用该漏洞无需用户验证在系统上执行任意命令,获得服务器的控制权。

 

二、影响版本
  • 5.x和6.x版本

 

三、漏洞原理

  该漏洞出现在/invoker/readonly请求中,服务器将用户提交的POST内容进行了Java反序列化,具体代码处详见大佬文章——https://www.jianshu.com/p/8ddda43545e3

  以及一篇通俗易懂的反序列化大佬文章——https://paper.seebug.org/312/

 

四、漏洞复现环境

  攻击机:Kali

  漏洞环境:vulhub(/vulhub/jboss/JMXInvokerServlet-deserialization)

 

五、实验步骤

1.开启vulhub漏洞环境,访问页面

2.准备反弹shell并利用ysoserial生成poc.ser

3.curl上传poc,ser

4.反弹shell成功

 

六、修复方式

  升级jboss到jboss7x版本

 

七、写在后面

  最近一直在代审WebGoat,只是代审还好,主要是自己还想顺便修复一下,更新就后推了不少时间。顺便再吐槽一下,自己还是太菜了,SpringBoot想加一个token加了半天加不上……后面会慢慢回到正轨,逐渐积累、更新复现以及写一些poc的。poc大概是时候摆脱python了……

posted @ 2022-09-18 21:26  wavesky  阅读(221)  评论(0编辑  收藏  举报