zoukankan      html  css  js  c++  java
  • Weblogic 反序列化命令执行漏洞(CVE-2018-2628)

    漏洞概述

    ​ 2018年4月17日,北京时间4月18日凌晨,Oracle官方发布了4月份的关键补丁更新CPU(Critical Patch Update),其中包含一个高危的Weblogic反序列化漏洞(CVE-2018-2628),这个漏洞是在2017年11月份报给Oracle的,通过该漏洞,攻击者可以在未授权的情况下远程执行任意代码。

    其基本原理其实都是利用了T3协议的缺陷实现了Java虚拟机的RMI:远程方法调用(Remote Method Invocation),能够在本地虚拟机上调用远端代码。

    影响版本

    10.3.6.0,12.1.3.0,12.2.1.2, 12.2.1.3

    JAVA序列化和反序列化

    1.序列化

    Java是运行在JVM(java虚拟机)之上的一种语言,我们通过命令行javac生成的字节码格式的类文件在任何平台的JVM上都可以运行而JVM(java虚拟机)运行时会解释类文件中的命令。在Java下对象这个概念很重要,java允许我们在内存中创建可复用的对象,但是一般情况下,只有当JVM属于运行状态时,这些对象才能够存在,也就是说这些对象的生命周期没有JVM的生命周期来的长。那如果我们需要保证即使在JVM停止运行的情况下,也能够保存相关制定对象,并且在将来某个时刻能够被读取是用得到,Java的序列化正是为了解决这一需求而产生的。

    Java序列化是指把Java对象转换为字节序列的过程便于保存在内存、文件、数据库中,ObjectOutputStream类的writeObject()方法可以实现序列化。

    2.反序列化

    通过对序列化的理解,那么就可以很好的来理解反序列化。

    反序列化的过程是指把字节序列恢复为 Java 对象的过程。我们可以将反序列化理解为一个”读”操作,通过ObjectInputStream 类的 readObject() 方法可以将对象实例进行”反序列化”操作。

    综合来说,序列化与反序列化是让 Java 对象脱离 Java 运行环境的一种手段,可以有效的实现多平台之间的通信、对象持久化存储。

    漏洞原理

    远程攻击者可利用该漏洞在未授权的情况下发送攻击数据,通过T3协议(EJB支持远程访问,且支持多种协议。这是web Container和EJB Container的主要区别)在Weblogic Server在执行反序列化操作,利用RMI(远程方法调用)机制的缺陷,通过JRMP协议(JAVA Remote Messaging Protocol: Java远程消息交换协议)达到执行任意反序列化目的。

    环境搭建

    vulhub

    漏洞复现

    使用ysoserial工具启动一个JRMP Server:

    接下来使用exploit.py脚本,向服务器发送数据包:

    连接成功,并且返回了payload,可以继续利用上传shell。

    接下来进入容器内,查看命令是否执行:

    漏洞修复

    更新至最新版

    禁用T3协议

    参考链接

    https://github.com/vulhub/vulhub/tree/master/weblogic/CVE-2018-2628

    https://blog.csdn.net/he_and/article/details/90580999

    https://github.com/jas502n/CVE-2018-2628

    https://www.cnblogs.com/sallyzhang/p/12326738.html

  • 相关阅读:
    LeetCode 350. Intersection of Two Arrays II (两个数组的相交之二)
    LeetCode 349. Intersection of Two Arrays (两个数组的相交)
    LeetCode 290. Word Pattern (词语模式)
    LeetCode 266. Palindrome Permutation (回文排列)$
    34.Search for a Range
    spark连接mongodb
    NLPIR中文分词器的使用
    scala和maven整合实践
    Spark中的键值对操作-scala
    301.Remove Invalid Parentheses
  • 原文地址:https://www.cnblogs.com/Son01/p/13355065.html
Copyright © 2011-2022 走看看