首页 > 其他分享 >CVE-2017-12149 JBoss JMXInvokerServlet 反序列化漏洞

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

时间:2022-09-18 21:36:18浏览次数:134  
标签:vulhub CVE JMXInvokerServlet 漏洞 2017 序列化 poc

一、漏洞概述

        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了……

标签:vulhub,CVE,JMXInvokerServlet,漏洞,2017,序列化,poc
From: https://www.cnblogs.com/wavesky/p/16705865.html

相关文章

  • Java 序列化
    Java序列化当一个对象需要持久化(存储)或者传输的时候,就用到了序列化。对象可以转换成字节序列,该字节序列包括这个对象的数据和类型信息也包括存储在对象中数据的类型。将......
  • Java反序列化之CC6链
    Gadgetchainjava.io.ObjectInputStream.readObject()java.util.HashMap.readObject()java.util.HashMap.hash()org.apache.commons.collections.keyvalue.TiedMapEntr......
  • java关于序列化的理解
     序列化是将数据变成可以传输的形式: 1.java对象的形式 2.二进制形式 再通过IO传输;可以通过网络传输也可以将数据保存到文件中或者从文件中取出。 java中通过......
  • java随笔(六)——对象序列化
    ObjectOutputStream(对象输出流,序列化)通过ObjectOutputStream可以将所需要存储的对象数据进行序列化再输出存储。例如:Students=newStudent("张三",19);ObjectOutput......
  • php反序列化实例讲解
    0x00为什么使用php序列化序列化的原因:为了数据存取方便。 0x01什么是php反序列化什么是序列化,将值以字符串的形式存储:serialize($tom)  0x02php反序列化基础......
  • CVE-2022-22978 Spring-Security 漏洞复现
    1说明在SpringSecurity中使用RegexRequestMatcher且规则中包含带点号的正则表达式时,攻击者可以通过构造恶意数据包绕过身份认证2环境搭建环境搭建地址可以参考如下的......
  • 网络传输数据序列化工具Protostuff
    一直在物色比较好用的网络传输数据序列化工具,看了诸如marshalling,protobuff等,但是均有一个共同特点,使用起来异常繁杂,有没有比较好用同时性能又不会太差的组件呢?答案当......
  • Java中具有继承的对象序列化
    在序列化中,当引入继承时,则根据超类和子类定义了某些情况,这使对每种情况下的序列化的理解变得更加简单。应遵循的基本规则如下。1.当超类实现时,可序列化接口而子类则不。......
  • Flask 学习-38.Flask-RESTful 序列化输出中文显示问题
    前言flask接口无法显示中文,可以添加全局配置JSON_AS_ASCII=False,但是解决不了Flask-RESTful序列化输出中文问题flask配置中文显示添加全局配置项JSON_AS_ASCII=Fa......
  • 使用 CerealBox 将 AWS DynamoDB JSON 序列化为 Python dict
    使用CerealBox将AWSDynamoDBJSON序列化为Pythondict在这里,我们讨论了一个快速演练和参考代码,用于为您的下一个AWS应用程序简化DynamoDBJSON序列化过程。绒......