咨询服务热线

400-6446-808

创安实验室专栏
您的当前位置:首页 > 创安实验室专栏
CVE-2020-14882分析
发布者:创信华通  发布时间:2023-02-03  浏览量:237次











古语有云:“学如逆水行舟,不进则退。”面对如今随时都在变化的网络安全环境更是如此。为此,创信华通微信公众号特开设“创安实验室专栏”,以记录创信华通创安实验室在技术上的探索,加强同行间的交流,相互学习,共同进步。


+

+

CVE-2020-14882分析

漏洞描述

WebLogic Server是美国Oracle公司的主要产品之一,其主要用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用,是商业市场上主要的Java(J2EE)应用服务器软件之一。远程攻击者可以通过发送恶意的HTTP GET 请求。成功利用此漏洞的攻击者可在未经身份验证的情况下控制 WebLogic Server Console ,并执行任意代码。

影响范围如下

Oracle Weblogic Server 10.3.6.0.0

Oracle Weblogic Server 12.1.3.0.0

Oracle Weblogic Server 12.2.1.3.0

Oracle Weblogic Server 12.2.1.4.0

Oracle Weblogic Server 14.1.1.0.0

漏洞原理

由于在权限校验过程中处置不到,可通过访问静态资源并且配合目录穿越和url二次编码绕过权限验证。并当请求中存在_nfpb=true时,最终会调用到 BreadcrumbBacking#init ,而这里会获取请求中的 handle 参数,调用 getHandle 方法便可执行恶意操作。

攻击流程

0x00 构造url

构造url:/console/css/%252e%252e%252fconsole.portal,便可绕过权限验证。

0x01 构造恶意参数 

构造恶意参数:_nfpb=true&_pageLabel=&handle=com.tangosol.coherence.mvel2.sh.ShellSession("java.lang.Runtime.getRuntime().exec('calc.exe');");,进入调用getHandle 方法逻辑执行恶意操作。

0x02 复现步骤

首先在进行路径权限检验会进入weblogic.servlet.internal.WebAppServletContext#execute的execute方法中,调用securedExecute()

文件位于\wlserver\modules

跟进securedExecute,会调用doSecuredExecute,继续跟进

进入checkAccess进行权限校验

当我们请求的路径为/console/console.portal时,checkAllResources为false

跟进getConstraint

比较我们的relURI是否匹配我们matchMap中的路径,并判断rcForAllMethods和rcForOneMethod是否为null

回到checkAccess,如果这里是原来的/console.portal时,到这就结束了

当我们访问/console/css/%252e%252e%252fconsole.portal,则会继续判断resourceConstraint及后续的isAuthorized,并进入checkAccess

跟进checkUserPerm

跟进hasPermission,当我们这里使用静态资源路径时,unrestrict值就为true

进入weblogic.servlet.AsyncInitServlet#service

当url中没有“;”便会调用super.service

继续跟进super.service

最终进入doPost,并调用createUIContext

此时我们传入的url完成一次解码

跟进getTree,再一次进行url解码

之后进入init

检查参数中是否有handle参数

最后进入HandleFactory.getHandle(handleStr)

此时传进来的handleStr会在这里被拆成两部分,一个作为被实例化的类,另一个作为该类的构造函数参数及实例化

构造了恶意参数,触发rce

攻击exp:https://github.com/GGyao/CVE-2020-14882_ALL

临时解决方案

1、关闭后台/console/console.portal的访问权限。

2、修改后台默认地址。

更新补丁

https://www.oracle.com/security-alerts/cpuapr2020.html

E·N·D


本文由创信华通创安实验室编辑。

本文仅限于个人学习和技术研究,由于传播、利用此文所提供的信息而造成刑事案件、非授权攻击等违法行为,均由使用者本人负责,本单位不为此承担任何责任。创安攻防实验室拥有对此文章的修改和解释权,如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。


如有侵权,请联系后台。




创安实验室

创信华通创安实验室,是成都创信华通信息技术有限公司旗下的技术研究团队,成立于2021年9月,主要研究红蓝对抗、重大安全保障、应急响应等方向。

创安攻防实验室圆满完成了多次公安举办的重要网络安全保障和攻防演习活动,并积极参加各类网络安全竞赛,屡获殊荣。

创安攻防实验室秉承创信华通的发展理念,致力打造国内一流网络安全团队。