WeblogicCVE-2020-14882,CVE-2020-14883漏洞分析"

admin 2026-10-16 06:06:29 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

Weblogic CVE-2020-14882,CVE-2020-14883漏洞分析

原创

谛宸
谛宸

谛宸安全

2026年9月10日 09:00
广东

在小说阅读器读本章

去阅读

在公众号小说中沉浸阅读

使用的是vulhub/weblogic/CVE-2020-14882漏洞环境,版本为Weblogic 12.2.1.3

该漏洞影响范围包含了Oracle Weblogic Server10.3.6.0.0、12.1.3.0.0、12.2.1.3.0、12.2.1.4.0、14.1.1.0.0这几个版本

1. 漏洞简介

CVE-2020-14882 允许未授权的用户绕过管理控制台的权限验证访问后台,CVE-2020-14883 允许后台任意用户通过 HTTP 协议执行任意命令 使用这两个漏洞组成的利用链,可通过一个 GET 请求在远程 Weblogic 服务器上以未授权的任意用户身份执行命令

2. CVE-2020-14882

直接访问以下url即可未授权访问后台管理页面

http://192.168.154.128:7001/console/css/%252e%252e%252fconsole.portal

以下是CVE-2020-14883的分析

3. 执行poc,通过日志分析调用栈

直接访问
http://192.168.154.128:7001/console/css/%252e%252e%252fconsole.portal?_nfpb=true&_pageLabel=&handle=com.tangosol.coherence.mvel2.sh.ShellSession(%22java.lang.Runtime.getRuntime().exec(%27touch%20/tmp/success1%27);%22)

进入容器

sudo docker exec -it -u root bff70d5c94d3 /bin/bash

查看日志

tail -f /u01/oracle/user_projects/domains/base_domain/servers/AdminServer/logs/AdminServer.log

信息显示异常直接发生在getHandle()方法内,说明这是实例化 Handle 对象的核心逻辑,直接在该方法处打断点

4. 分析代码

再执行一次poc,找到调用getHandle()的地方

可以看到上一步是com.bea.console.utils.BreadcrumbBacking.init(),进入该方法 简单分析可以发现这里就是weblogic解析传入url的地方,在第67行有一个if判断,若为true就能调用 HandleFactory.getHandle(),所以在第66行打一个断点,看看handleStr是什么

重新执行poc,跟进findFirstHandle()方法 209行提取出url中携带的参数

211,212,213行通过while循环逐个提取出参数和参数值

循环第三遍来到227行,当url中存在handle参数,就将参数值赋值给handle变量并返回

所以handleStr为url上handle参数的参数值,即com.tangosol.coherence.mvel2.sh.ShellSession(\"java.lang.Runtime.getRuntime().exec('touch%20/tmp/success1');\")

通过if判断后调用HandleFactory.getHandle()处理handleStr,跟进

这4行就是在调用com.tangosol.coherence.mvel2.sh.ShellSession 这个类的构造器来实例化一个ShellSession对象

分析ShellSession类的构造器

可以看到在实例化的过程中调用了exec()方法,说明会将传入的参数当作命令来执行 在容器内也能看到/tmp/success1文件被创建,成功执行命令

这个方法只能在 Weblogic 12.2.1 以上版本用,因为 10.3.6 并不存在 com.tangosol.coherence.mvel2.sh.ShellSession 类,低版本可以使用com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext ,会更复杂,具体利用方式可以看https://github.com/vulhub/vulhub/blob/master/weblogic/CVE-2020-14882/README.zh-cn.md


WeblogicCVE-2020-14882,CVE-2020-14883漏洞分析" 网络安全文章

WeblogicCVE-2020-14882,CVE-2020-14883漏洞分析"

本文分析WeblogicCVE-2020-14882与CVE-2020-14883漏洞利用链,影响多个版本。攻击者可通过构造特定URL未授权访问后台并远程执行命令。文章详细分析了漏洞原理、POC触发过程及调用栈,并给出代码级分析,建议使用vulhub环境复现,并关注官方补丁更新。
AI审代码最大的坑:它编出来的漏洞,句句在理" 网络安全文章

AI审代码最大的坑:它编出来的漏洞,句句在理"

本文剖析AI审代码的核心风险:模型可能编造看似合理实则不存在的漏洞。以Cloudflare开源skill为例,介绍六阶段流水线,核心铁律是发现漏洞的Agent不得自证,须由独立Agent验证。给出可操作建议:拆分发现与验证角色、用coverageledger记录、采用机器可读schema、强制OS沙箱。
评论:0   参与:  0