【漏洞复现】weblogic文件读取漏洞

devtools/2024/9/25 21:19:08/

环境配置说明网站:

Vulhub - Docker-Compose file for vulnerability environment

Weblogic 常规渗透测试环境

测试环境

本环境模拟了一个真实的weblogic环境,其后台存在一个弱口令,并且前台存在任意文件读取漏洞。分别通过这两种漏洞,模拟对weblogic场景的渗透。

Weblogic版本:10.3.6(11g)

Java版本:1.6

启动测试环境:

我已经提前将整个vulhub靶场环境拉取到本地环境了,找到此次的path环境启动即可

对应的readme.md文档中也有漏洞复现的重要步骤可以参考

docker compose up -d

首次开启环境会慢一些

弱口令

环境启动后,访问http://your-ip:7001/console,即为weblogic后台。

这里我的IP为10.9.23.233,直接访问10.9.23.233:7001/console即可访问weblogic后台

通过环境文件可知本环境存在弱口令:

  • weblogic
  • Oracle@123

weblogic常用弱口令: Default Passwords | CIRT.net

任意文件读取漏洞的利用

这里我们当作不知道密码

本环境前台模拟了一个任意文件下载漏洞,访问http://your-ip:7001/hello/file.jsp?path=/etc/passwd可见成功读取passwd文件。

直接访问http://10.9.23.233:7001/hello/file.jsp?path=/etc/passwd 会将文件进行下载,然后打开就是对应passwd文件内容

读取后台用户密文与密钥文件

weblogic密码使用AES(老版本3DES)加密,对称加密可解密,只需要找到用户的密文与加密时的密钥即可。这两个文件均位于base_domain下,名为SerializedSystemIni.dat和config.xml,在本环境中为./security/SerializedSystemIni.dat和./config/config.xml(基于当前目录/root/Oracle/Middleware/user_projects/domains/base_domain)。

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

http://10.9.23.233:7001/hello/file.jsp?path=./security/SerializedSystemIni.dat进行抓包重放得到密文

http://10.9.23.233:7001/hello/file.jsp?path=./config/config.xml进行抓包重放得到密文

config.xml是base_domain的全局配置文件,所以乱七八糟的内容比较多,找到其中的<node-manager-password-encrypted>的值,即为加密后的管理员密码

{AES}yvGnizbUS0lga6iPA5LkrQdImFiS/DJ8Lw/yeE7Dt0k=

解密密文

然后使用本环境的decrypt目录下的weblogic_decrypt.jar,解密密文

按照给的思路进行操作,现在没有得到预设的弱口令,目前不知道是哪里的问题

这里我先直接使用弱口令直接登录进来了

登录后台。点击左侧的部署,可见一个应用列表:

点击安装,选择上传文件

上传成功

使用蚁剑进行连接,连接成功,getshell

war包制作过程参考我的这篇文章

tomcat作业漏洞复现(war包制作)


http://www.ppmy.cn/devtools/6077.html

相关文章

linux 挂载云盘 NT只能挂载2T,使用parted挂载超过2T云盘

一、删除原来挂载好的云盘和分区 1、查看挂载号的云盘 fdisk -l 发现我们有5千多G但是只挂载了2T&#xff0c;心里非常的慌张&#xff01;十分的不爽&#xff01; 好&#xff0c;我们把它干掉&#xff0c;重新分区&#xff01; 2、解除挂载 umount /homeE 没保存跳转到&…

设计模式学习笔记 - 开源实战一(上):通过剖析JDK源码学习灵活应用设计模式

工厂模式在 Calendar 类中的应用 在前面讲到工厂模式的时候&#xff0c;大部分工厂类都是以 Factory 作为后缀来命名&#xff0c;并且工厂类主要负责创建对象这样一件事情。但在实际的项目开发中&#xff0c;工厂类的设计更加灵活。我们来看下&#xff0c;工厂模式在 Java JDK…

web自动化系列-selenium 的鼠标操作(十)

对于鼠标操作 &#xff0c;我们可以通过click()方法进行点击操作 &#xff0c;但是有些特殊场景下的操作 &#xff0c;click()是无法完成的 &#xff0c;比如 &#xff1a;我想进行鼠标悬停 、想进行鼠标拖拽 &#xff0c;怎么办 &#xff1f; 这个时候你用click()是无法完成的…

经济学人早操练(1)

hello大家好&#xff0c;周末给大家奉献一波“大”的。2024年4月13日经济学人Leader板块的文章&#xff0c;题目是《The next housing disaster》&#xff0c;当时看到这个题目的时候也是吓得一蹦啊&#xff0c;啥&#xff1f;我们的房子还有灾难&#xff0c;球球啊&#xff0c…

K8s的亲和、反亲和、污点、容忍

1 亲和与反亲和 亲和性的原理其实很简单&#xff0c;主要利用label标签结合nodeSelector选择器来实现 1.1 Pod和Node 从pod出发&#xff0c;可以分成亲和性和反亲和性&#xff0c;分别对应podAffinity和podAntiAffinity。从node出发&#xff0c;也可以分成亲和性和反亲和性&…

06 MapStream递归

Collections(集合工具类) 可变参数 就是一种特殊形参&#xff0c;定义在方法、构造器的形参列表里&#xff0c;定义格式是&#xff1a;方法名(数据类型… 形参名称){ } 可变参数的特点和好处 **特点&#xff1a;**可以不传数据给它&#xff1b;可以传一个或者同时传多个数据给…

深度学习基础——卷积神经网络的基础模块

深度学习基础——卷积神经网络的基础模块 卷积神经网络&#xff08;Convolutional Neural Networks&#xff0c;CNN&#xff09;是深度学习中一种非常重要的神经网络结构&#xff0c;它在图像识别、图像分类、目标检测等领域取得了巨大成功。本文将介绍卷积神经网络的几个基础…

Java+springboot开发的医院智能导诊服务系统源码 自动兼容小程序与H5版本

智能导诊系统 一、什么是智慧导诊系统&#xff1f; 智慧导诊系统是一种医院使用的引导患者自助就诊挂号、精准推荐科室、引导患者挂号就诊的系统。该系统结合医院挂号及就诊的HIS系统&#xff0c;为患者带来全流程的信息指引提醒&#xff0c;可以在全院区构建一个精细化、移动…