• 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

  • 相关阅读:
    游戏热更思路
    Shader实现新手指引挖空圆形和矩形
    C#利用栈实现字符串运算解析
    Unity UGUI和特效(含粒子系统和3D Object)之间层级问题
    Unity中的值传递与引用传递
    Unity3D中的线程与协程
    进程、线程、协程、CPU
    Photon Server与Unity3D客户端的交互
    Photon Server的Unity3D客户端配置
    Photon Server的服务器端配置
  • 原文地址:https://www.cnblogs.com/gdg87813/p/11052293.html
Copyright © 2020-2023  润新知