CVE-2019-2729 WebLogic RCE破绽白名单补丁剖析 | 申博官网
登录
  • 欢迎进入申博官网!
  • 如果您觉得申博官网对你有帮助,那么赶紧使用Ctrl+D 收藏申博官网并分享出去吧
  • 这里是申博官方网!
  • 申博官网是菲律宾sunbet官网品牌平台!
  • 申博开户专业品牌平台!

CVE-2019-2729 WebLogic RCE破绽白名单补丁剖析

申博_安全预警 申博 100次浏览 未收录 0个评论

WebLogic组件引见

WebLogic是美国Oracle公司出品的一个application server,确实的说是一个基于JAVAEE架构的中间件,WebLogic是用于开辟、集成、布置和治理大型分布式Web运用、收集运用和数据库运用的Java运用效劳器。

将Java的动态功用和Java Enterprise规范的平安性引入大型收集运用的开辟、集成、布置和治理当中。WebLogic是贸易市场上重要的Java(J2EE)运用效劳器软件(application server)之一,是世界上第一个胜利贸易化的J2EE运用效劳器,具有可扩展性,疾速开辟,天真,可靠性等上风。

破绽形貌

CVE-2019-2729破绽是对CVE-2019-2725破绽补丁举行绕过,构成新的破绽应用体式格局,属于CVE-2019-2725破绽的变形绕过。与CVE-2019-2725破绽类似,CVE-2019-2729破绽是由于运用在处置惩罚反序列化输入信息时存在缺点,进击者能够经由过程发送经心组织的歹意HTTP要求,用于取得目的效劳器的权限,并在未受权的情况下实行长途敕令,终究猎取效劳器的权限。针对此破绽,官方已宣布补丁,所以强烈发起受到影响的用户尽快下载官方最新补丁,以防效劳器处于高风险当中。

CVE-2019-2725和CVE-2019-2729破绽的泉源剖析

WebLogic效劳器的上下文流传使其能够在支撑的协定中照顾运用环境信息。信息是经由过程XML序列化Java对象来完成的。默许情况下,下面的URL会经由过程SOAP要求来吸收上下文环境信息:

/_async/*
/wls-wsat/*

序列号XML数据包含在SOAP要求的<work:WorkContext>标签中。WorkContext信息的反序列化是在WorkContextXmlInputAdapter类中完成的,如图1所示。

CVE-2019-2729 WebLogic RCE破绽白名单补丁剖析

图1. WorkContext信息完成反序列化的WorkContextXmlInputAdapter类

如上图所示,XMLDecoder 类用来反序列化上下文信息。XMLDecoder类是一个本不应当用于非可托输入的类。其他研讨表明,该类许可恣意要领和constructor对恣意范例的挪用。考虑到运用XMLDecoder的风险以及作为修复CVE-2017-3506破绽的要领,在WorkContextXmlInputAdapter 中到场了一个validate() 函数来在反序列化之前过滤歹意标签。

在CVE-2019-2725破绽中,破绽之前的validate() 函数如图2所示。

CVE-2019-2729 WebLogic RCE破绽白名单补丁剖析

图2. CVE-2019-2725破绽之前的validate() 函数

从上面能够看出,很多须要RCE的标签都被到场黑名单了。

但没有考虑到标签,许可进击者用恣意constructor参数来初始化恣意类。如许就能够有多种要领来完成恣意代码实行。比方,初始化对象UnitOfWorkChangeSet,就能够吸收字节数组作为constructor参数。

CVE-2019-2729 WebLogic RCE破绽白名单补丁剖析

图3. UnitOfWorkChangeSet 反序列化字节数组的代码段

如图3所示, UnitOfWorkChangeSet 会在初始化后反序列号字节数组。含有捏造的歹意序列化对象的字节数组就能够用来完成恣意代码实行。图4所示的python剧本就能够用来天生进击流量。

「干货」2019嘶吼白帽子手艺沙龙,手艺分享(内含PPT)

应读者要求,带来“嘶吼2019白帽子技术沙龙”技术分享 议题一:《漏洞攻防:自动化与智能化》 演讲嘉宾:丁牛科技网安实验室张云涛博士 PPT:漏洞攻防:自动化与智能化 .pdf 议题二:正面向你繁华似锦,背面连接暗无天日 演讲嘉宾:赵云翔 PPT:正面向你繁花似锦,背面连接暗无天日.pdf 议题三:智能编排技术如何加速企业安全威胁响应 演讲嘉宾:雾帜智能 傅奎 PPT:智能编排技术如何加速企业安全威胁响应0629.pdf 议题三:BLE通信给IoT设备带来的安全隐患 演讲嘉宾:DC0086 成员 Light PPT:BLE通信给IoT设备带来的

CVE-2019-2729 WebLogic RCE破绽白名单补丁剖析

图4. 能够天生进击流量的Python poc代码

由于<class> 标签是破绽应用所必需的,因而Oracle在CVE-2019-2725补丁中将该标签到场了黑名单。

CVE-2019-2729 WebLogic RCE破绽白名单补丁剖析

图5. 将<class>标签到场黑名单来修复CVE-2019-2725破绽

CVE-2019-2729: CVE-2019-2725绕过

从另一方面看,绕过CVE-2019-2725补丁实在并不庞杂。对JDK 1.6来讲,<class>标签的功用会被标签<array method=”forName”>所替代。因而,运用标签<array method=”forName”>替代<class>标签就能够绕过黑名单。

CVE-2019-2729 WebLogic RCE破绽白名单补丁剖析

图6. 绕过<class>标签黑名单的<array method=”forName”> 标签

Oracle现在也宣布了CVE-2019-2729破绽的补丁,但Oracle运用的是白名单而不是黑名单要领。这是经由过程新引入的validateFormat() 函数和WorkContextFormatInfo中定义的白名单划定规矩来完成的。

CVE-2019-2729 WebLogic RCE破绽白名单补丁剖析

图7. 用来修复CVE-2019-2729破绽的白名单代码段

如图7所示,白名单中仍然是许可<array> 标签的,但只许可含有byte值的class属性或含有恣意值的length属性。

最好实践

总的来讲,运用白名单机制来阻拦歹意内容要比运用黑名单越发有用,尤其是在能够引入平安问题的绕过上。研讨人员发起体系治理员、开辟人员和IT平安团队运用以下最好平安实践:

· 运用Oracle紧要补丁升级到没有破绽的最新版本;

· 删除war 和wls-wsat.war,然后重启WebLogic效劳来防备对有破绽的组件的接见;

· 限定对受影响的通讯端口的接见;

· 经由过程入侵检测体系来监控、检测和阻拦歹意流量;

· 运用多种平安机制。

原文地点: https://www.4hou.com/vulnerable/18801.html


申博|网络安全巴士站声明:该文看法仅代表作者自己,与本平台无关。版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明CVE-2019-2729 WebLogic RCE破绽白名单补丁剖析
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址