zoukankan      html  css  js  c++  java
  • WebLogic反序列化远程命令执行(CNVD-C-2019-48814)漏洞预警

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

    WebLogic将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。是商业市场上主要的Java(J2EE)应用服务器软件(Application Server)之一,是世界上第一个成功商业化的J2EE应用服务器,具有可扩展性,快速开发,灵活,可靠性等优势。

    2019年4月17日,国家信息安全漏洞共享平台(CNVD)收录了Oracle WebLogic wls9-async反序列化远程命令执行漏洞(CNVD-C-2019-48814)。攻击者利用该漏洞,可在未授权的情况下远程执行命令。目前,漏洞细节已经公开,近期内针对该类攻击事件将剧增。

    漏洞简介

    严重程度:高危

    CVND 编号:CNVD-C-2019-48814

    影响版本:

    Oracle WebLogic Server 10.X
    Oracle WebLogic Server 12.1.3

    漏洞成因

    此漏洞存在于Weblogic自带的wls9_async_response.war组件及wls-wsat组件中,由于在反序列化处理输入信息的过程中存在缺陷,未经授权的攻击者可以发送精心构造的恶意HTTP请求,获取服务器权限,实现远程代码执行。

    漏洞危害

    可直接访问组件/_async/AsyncResponseService和/wls-wsat/CoordinatorPortType,若访问如下图所示,则此组件开启。请相关用户引起关注,及时采取防护措施。

    若漏洞被成功利用,可导致远程命令执行,攻击者可以进而获得整台服务器的权限。

    漏洞检测POC:

    利用上面的POC进行漏洞检测,如果返回值的HTTP头为HTTP/1.1 202 Accepted,则说明该漏洞存在。

    建议

    官方暂未发布针对此漏洞的修复补丁,在官方修复之前,可以采取以下方式进行临时防护:

    (1)配置URL访问控制策略

    部署于公网的用户,可通过访问控制策略禁止对/_async/*及/wls-wsat/*路径的访问。

    (2)删除不安全文件

    删除wls9_async_response.war、wls-wsat.war文件及相关文件夹,并重启Weblogic服务。具体文件路径如下:

    版本号为10.3.*:

    Middlewarewlserver_10.3serverlib

    %DOMAIN_HOME%serversAdminServer mp\_WL_internal

    %DOMAIN_HOME%serversAdminServer mp.internal

    版本号为12.1.3:

    MiddlewareOracle_Homeoracle_commonmodules

    %DOMAIN_HOME%serversAdminServer mp.internal

    %DOMAIN_HOME%serversAdminServer mp\_WL_internal

    注:wls9_async_response.war及wls-wsat.war属于一级应用包,对其进行移除或更名操作可能造成未知的后果,Oracle官方不建议对其进行此类操作。若在直接删除此包的情况下应用出现问题,将无法得到Oracle产品部门的技术支持。请用户进行影响评估,并对此文件进行备份后,再执行此操作。

    (3)禁用bea_wls9_async_response及wls-wsat

    用户可通过在weblogic启动参数中禁用bea_wls9_async_response及wls-wsat的方式,对此漏洞形成临时防护

    在禁用不安全组件前,需请开发人员确认应用系统是否使用了weblogic提供的异步WebService功能,排查方法请附录章节。如果确认没有使用,可以使用如下方式禁用此功能:

    1、以windows系统为例,在启动文件(%DOMAIN_HOME%instartWeblogic.cmd)中加如下参数:

    set JAVA_OPTIONS=%JAVA_OPTIONS% -Dweblogic.wsee.skip.async.response=true

    set JAVA_OPTIONS=%JAVA_OPTIONS% -Dweblogic.wsee.wstx.wsat.deployed=false

    2、 对应用程序进行严格测试。

    3、 测试结果没有问题后,重启 Weblogic 服务,使参数生效

    poc地址:https://github.com/greekn/CNVD-C-2019-48814

  • 相关阅读:
    java数据结构-循环链表实现
    java数据结构-普通链表实现测试
    java数据结构-普通链表实现
    java数据结构-排序算法-插入算法
    java数据结构-排序算法-快排算法
    java数据结构-递归算法-简单递归算法
    python------------------异常处理
    自定义Web框架
    Django框架第一篇
    Django框架之第二篇
  • 原文地址:https://www.cnblogs.com/gdg87813/p/11052293.html
Copyright © 2011-2022 走看看