千家信息网

WebLogic远程代码执行漏洞CVE-2020-14644的分析是怎么进行的

发表于:2024-09-21 作者:千家信息网编辑
千家信息网最后更新 2024年09月21日,本篇文章给大家分享的是有关WebLogic远程代码执行漏洞CVE-2020-14644的分析是怎么进行的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编
千家信息网最后更新 2024年09月21日WebLogic远程代码执行漏洞CVE-2020-14644的分析是怎么进行的

本篇文章给大家分享的是有关WebLogic远程代码执行漏洞CVE-2020-14644的分析是怎么进行的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

一、漏洞分析

1.1 WebLogic组件介绍

WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。

1.2 漏洞描述

Oracle官方在2020年7月份发布的最新安全补丁中披露此漏洞。该漏洞允许未经身份验证的攻击者通过IIOP,T3进行网络访问,未经身份验证的攻击者成功利用此漏洞可能接管Oracle WebLogic Server。CVSS评分9.8。

1.3 漏洞分析

以WebLogic12.1.4.0作为漏洞环境进行分析,首先poc调用ClassIdentity构造方法,将构造的恶意类信息存入m_sPackage,m_sBaseName,m_sVersion三个属性中。

使用Javassist类库获取构造的恶意类的字节流。并调用ClassDefinition构造方法,将获取的恶意字节流存入m_abClass属性中。

调用RemoteConstructor构造函数,将上述获取到的属性,传入m_definition属性中。

在反序列化过程中,序列化数据会进入到RemoteConstructor类中的readResolve()方法中,调用newInstance()方法。并进入realize方法中。

在此方法中,由于调用的getRemotableClass()方法中的m_clz属性使用transient关键字,在反序列化过程中,此属性值为null。在经过两个if判断条件后,执行

definition.setRemotableClass(this.defineClass(definition));

代码语句。

在defineClass方法中获取恶意类,及其恶意字节流数据,调用父类ClassLoader的defineClass方法,实现自定义ClassLoader的创建。在加载过程中执行恶意代码,实现攻击。

1.4 漏洞复现

搭建WebLogic12.1.4.0漏洞环境,构造恶意的反序列化数据,通过T3发送到目标服务器,当目标服务器解析反序列化数据,会触发恶意代码执行,效果如图:

二、影响范围

目前受影响的WebLogic版本:

WebLogic Server 12.1.3.0.0

WebLogic Server 12.2.1.3.0

WebLogic Server 14.1.1.0.0

三、解决方案

3.1修复建议

1.官方已经针对此漏洞发布补丁,请受影响的用户参考以下链接安装补丁更新:https://www.oracle.com/security-alerts/cpujul2020.html

3.2临时修复建议

1.可通过关闭IIOP协议对此漏洞进行临时防御。操作如下:

在WebLogic控制台中,选择"服务"->"AdminServer"->"协议",取消"启用IIOP"的勾选。并重启WebLogic项目,使配置生效。

2.对T3服务进行控制

控制T3服务的方法:

在上图这个WebLogic界面中选择安全-筛选器,在下方出现的界面中找到"连接筛选器",在里面输入

security.net.ConnectionFilterImpl

然后在连接筛选器规则中输入

127.0.0.1 * * allow t3 t3s,0.0.0.0/0 * * deny t3 t3s

最后保存并重启服务器即可生效。

以上就是WebLogic远程代码执行漏洞CVE-2020-14644的分析是怎么进行的,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

漏洞 方法 恶意 服务 属性 代码 分析 序列 数据 服务器 应用 补丁 过程 筛选器 影响 控制 攻击 安全 官方 建议 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 云时代阿里的服务器 网络安全和党成立100年 软件开发立项书编制 河南前端软件开发大概要多少钱 游戏北方服务器名称 mdb数据库查看器 湖南电力应急软件开发价格标准 计算机网络安全技术王群 怎样访问宝塔服务器上的连接 天津食堂系统一站式软件开发 我的世界国际版开服务器号怎么玩 深圳招商银行软件开发中心 电脑联网才能安装数据库吗 天津百泰网络技术有限公司 日本进修软件开发 服务器上装windows系统 广西网络安全技术培训中心 合肥八八六软件开发有限公司 软考软件开发考什么类型的 洗车美容软件开发 简述网络安全设计原则有哪些 Mpp数据库的去重 软件开发属于工科吗 广州金工网络技术有限公司 老年人网络安全知识视频 安徽医疗软件开发公司 杭州应用软件开发价格表 网络安全小技巧都有哪些 合肥八八六软件开发有限公司 泉州软件开发外包公司排行榜
0