手机上怎么买彩票双色球 微信上有人推荐买彩票 能合买彩票的平台 夫妻买彩票狂中30亿 买彩票心态 买彩票就买大乐透开奖结果 哪个平台买彩票安全吗 买彩票有买一个号的吗 怎么看走势图买彩票 如何在电脑上买彩票 美国几岁可以买彩票? 福彩工作人员买彩票 彩客网买彩票 能在微信上买彩票吗 怎么买彩票容易中

Weblogic反序列化远程代码执行漏洞£¨CVE-2019-2725£©分析报告

来源£º本站整理 作者£º佚名 时间£º2019-04-28 TAG£º 我要投稿

0x01 漏洞描述
4月17日£¬国家信息安全漏洞共享平台£¨CNVD£©公开了Weblogic反序列化远程代码执行漏洞£¨CNVD-C-2019-48814£©¡£由于在反序列化处理输入信息的过程中存在缺陷£¬未经授权的攻击者可以发送精心构造的恶意 HTTP 请求£¬利用该漏洞获取服务器权限£¬实现远程代码执行¡£目前£¬POC已在野外公开£¨见参考链接£©¡£官方紧急补丁£¨CVE-2019-2725£©已于4月26日发布£¬请受影响主机及时修复漏洞¡£
受影响版本
Oracle WebLogic Server 10.*
Oracle WebLogic Server 12.1.3
影响组件£º
bea_wls9_async_response.war
wsat.war
危害等级£º 高£¬攻击者利用此漏洞可执行任意代码¡£
 
0x02 漏洞分析
根据国家信息安全漏洞共享平台£¨CNVD£©漏洞公告£¬此漏洞存在于异步通讯服务£¬可通过访?#20107;?#24452;/_async/AsyncResponseService£¬判断不安全组件是否开启¡£wls9_async_response.war包中的类由于使用注解方法调用了Weblogic原生处理Web服务的类£¬因此会受该漏洞影响£º

为更好的理解漏洞成因£¬通过IDEA对WebLogic服务器远程动态调试£¨因为需要跟进原生类中的方法£¬需要在IDEA中指定WebLogic安装目录中的JDK文件夹£©£¬在ProcessBuilder类中打下?#31995;ã£?#20851;键的调用栈过程如下所示£º



调用栈非常深£¬下面解释一?#24405;?#20010;关键的部分¡£首先是?#22363;?#33258;HttpServlet的BaseWSServlet类£¬其中的service方法主要用于处理HTTP请求及其响应£¬通过HTTP协议发送的请求包封装在HttpServletRequest类的实例化对象var1中£º

调用BaseWSServlet中定义的内部类AuthorizedInvoke的run()方法完成传入HTTP对象的权限验证过程£º

若校验成功£¬则进入到SoapProcessor类的process方法中£¬通过调用HttpServletRequest类实例化对象var1的getMethod()方法获取HTTP请求类型£¬若为POST方法£¬则继续处理请求£º

HTTP请求发送至SoapProcessor类的handlePost方法中£º
private void handlePost(BaseWSServlet var1, HttpServletRequest var2, HttpServletResponse var3) throws IOException {
    assert var1.getPort() != null;
    WsPort var4 = var1.getPort();
    String var5 = var4.getWsdlPort().getBinding().getBindingType();
    HttpServerTransport var6 = new HttpServerTransport(var2, var3);
    WsSkel var7 = (WsSkel)var4.getEndpoint();
    try {
        Connection var8 = ConnectionFactory.instance().createServerConnection(var6, var5);
        var7.invoke(var8, var4);
    } catch (ConnectionException var9) {
        this.sendError(var3, var9, "Failed to create connection");
    } catch (Throwable var10) {
        this.sendError(var3, var10, "Unknown error");
    }
}
为方便后续分析工作进行£¬在此先简单介绍一下SOAP协议内容及格式£ºSOAP£¨中文称之为简单对象访问协议£©£¬用于在WEB上交换结构化和固化的信息£¬是Web Service三要素之一£¬可以和?#25191;?#30340;许多因特网协议和格式结合使用¡£下图展示SOAP消息封装的标?#20960;?#24335;£º

BaseWSServlet类实例化对象var1封装了基于HTTP协议的SOAP消息£º

调用var1对象中定义的getPort()方法解析SOAP消息中的根元素Envelope£¨可把 XML 文档定义为 SOAP 消息£©£¬获取所调用服务的端口信息£º

通过var4对象的getWsdlPort().getBinding().getBindingType()方法获取当前SOAP协议规范版本信息£º

[1] [2] [3] [4]  下一页

¡¾声明¡¿:黑吧安全网(http://www.rliwo.live)登载此文出于传递更多信息之目的£¬并不代表本站赞同其观点?#25237;?#20854;真实性负责£¬仅适于网络安全技术爱好者学习研究使用£¬学习中请遵循国家相关法律法规¡£如有问题请联系我们£¬联系邮箱[email protected]£¬我们会在最短的时间内进行处理¡£
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载
        ¹ºÂò²ÊƱȨÍþÍøÖ·
        手机上怎么买彩票双色球 微信上有人推荐买彩票 能合买彩票的平台 夫妻买彩票狂中30亿 买彩票心态 买彩票就买大乐透开奖结果 哪个平台买彩票安全吗 买彩票有买一个号的吗 怎么看走势图买彩票 如何在电脑上买彩票 美国几岁可以买彩票? 福彩工作人员买彩票 彩客网买彩票 能在微信上买彩票吗 怎么买彩票容易中