文章详情
Weblogic10.3.6.0版本ConsoleHTTP协议远程代码执行漏洞(CVE-2020-14882)分析以及poc构造
在Oracle官方发布的2020年10月关键补丁更新公告CPU中,包含一个存在于Weblogic Console中的高危远程代码执行漏洞CVE-2020-14882。该漏洞与CVE-2020-14883权限绕过漏洞配合,可以使得攻击者在未经身份验证的情况下执行任意代码并接管WebLogic Server Console。
在这篇文章中,我们首先来看看CVE-2020-14882代码执行漏洞。而后续下一篇文章,我将深入的分析下CVE-2020-14883权限绕过漏洞,并说明二者是如何配合使用的。
CVE-2020-14882
首先我们来研究下Weblogic Console HTTP协议远程代码执行漏洞。这个漏洞影响范围广:影响范围包含了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这几个版本。
网上关于这个漏洞的分析报告,多数是以Weblogic12版本展开的,10版本与12版本下的漏洞触发点相同点,但利用链不同。所以我在这里就拿Weblogic 10.3.6.0.0版本,对这个漏洞进行分析。
按照惯例,我们从CVE-2020-14882相关漏洞细节入手,看看能不能还原出poc。
关于CVE-2020-14882的漏洞详情如下:
“结合 CVE-2020-14883 漏洞,远程攻击者可以构造特殊的 HTTP请求,在未经身份验证的情况下接管 WebLogic Server Console ,并在 WebLogic Server
Console 执行任意代码。”
从描述上来看,CVE-2020-14883是权限绕过漏洞,而CVE-2020-14882是后台代码执行漏洞。我们要是想利用CVE-2020-14882。因此我们可以得到如下两个信息:
攻击是通过向后台发送HTTP请求实现的
CVE-2020-14882须要有后台管理员权限
在此之外,我们还通过一些披露可以知道:
本次漏洞实际执行点位于com/bea/console/handles/HandleFactory.class中的getHandle方法下图红框处
下面我们就试着还原一下这个漏洞:
首先我们先以后台管理员的身份,访问一下后台地址
http://localhost:7001/console/console.portal?_nfpb=true&_pageLabel=HomePage1
在我们的请求发送到Weblogic服务器后,程序会执行到com/bea/console/utils/BreadcrumbBacking.class,并调用其中init方法,见下图
BreadcrumbBacking翻译过来大概是面包屑导航支持的意思。从笔者的理解来看,上图这里应该是Weblogic用来解析传入的url的作用。
我们继续看init方法
public void init(HttpServletRequest req, HttpServletResponse res) {
if (req.getParameter(NO_BC) == null) {
...
String handleStr = this.findFirstHandle(req);
if (this.handle == null && handleStr != null && !handleStr.equals("")) {
try {
this.handle = HandleFactory.getHandle(handleStr);
String name = this.handle.getDisplayName();
req.getSession().setAttribute(BREADCRUMB_CONTEXT_VALUE, name);
} catch (Exception var6) {
}
}
this.dispatchedValue = (BCValue)req.getSession().getAttribute(DISPATCHED_BREADCRUMB);
}
}
上一文章:从蜜罐上线到1day发现
相关推荐
- 10-21ZeroLogon(CVE-2020-1472)分析与狩猎
- 05-10NUAACTF2021Easy_XSS复现
- 10-30【实战】无回显Rce到Getshell
- 10-22AbusingWindowsPhysical
- 08-11快速找到qq历史头像
- 05-08浅谈域渗透中的组策略及gpp运用
- 05-02小风原创表白网页源码
- 05-14TCP的拆包和粘包的原因及处理方法
- 10-21由Arduino制作badusb联动cs进行一插上线
- 05-21SOCasS(把SOC当作一种服务)的架构部署和技术
- 11-04GitHub企业版RCE漏洞(GitHubEnterprise
- 10-21Pickle反序列化源码分析与漏洞利用
- 11-23监听445端口抓v2数据
- 10-21fastadmin后台注入分析