渗透测试实战—教育站点(若依系统的shiro反序列化利用)

2024-08-23 13:12

本文主要是介绍渗透测试实战—教育站点(若依系统的shiro反序列化利用),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

免责声明:文章来源于真实渗透测试,已获得授权,且关键信息已经打码处理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用。 

一、信息收集

1.目标站点为学校站点,正常登录时为 http://www.XXX.com/,信息收集时发现了一个若依系统的图标,进行访问以后发现跟主站点是同一个域名,只不过用了HTTPS协议,访问时自动跳转为到https://www.XXX.com/login

2.看验证码也可以大概猜测是若依系统,同时查看js代码,可以发现若依系统的版本为4.7.9,版本还是比较新的,经过基本的漏洞测试发现该系统并不存在旧版本系统漏洞

3.继续信息收集,目标学校的对外资产并不多,继续下一步信息收集,扫描目录的时候发现了一个新的后台管理系统(爆破目录/ADMIN/时响应码为302,访问http://www.XXX.com/ADMIN/自动跳转到了http://www.XXX.com/ADMIN/login页面)

4.这就比较有意思了,看验证码猜测很可能也是若依系统,查看js代码,同样可以看到版本,但是版本要低得多,为3.4.0(一个站点上同时存在两个后台管理系统,感觉是运维疏忽,忘记删旧版本了)

二、实战环节

1.先来测试一下弱口令:ry账户显示已经禁用,amdin账户显示密码错误

若依系统弱口令:

amdin/admin123

ry/admin123

2.接着重复的手法测一波历史漏洞,跑了一下shiro默认密钥,竟然出货了,并且成功构造了利用链

3.接着直接注入内存马,利用哥斯拉上线(shiro反序列化漏洞拿的是root权限还是比较爽的)

 4.收集一波信息看看有没有什么数据信息,通过翻找发现root目录下存在.bash_history.mysql_history文件(虽然没有直接显示mysql数据库密码,但是发现了大量sql备份数据文件以及更改的数据信息)

.mysql_history        是 MySQL客户端工具(如 mysql 或 mysqldump)的命令历史记录文件

.bash_history          记录了用户在终端或命令行界面中输入的所有命令。

5.查看备份文件,其中泄露了大量学生信息(好了,点到为止,下线)

三、总结

成功拿下了学校主站的服务器,并通过内网信息收集找到了泄露的大量学生信息

        渗透测试的时候还是需要多注意信息收集,可能在意想不到的地方就存在着漏洞站点;需要注意内存马的使用(注意配置信息和命名,尽量一次成功,要不然清除内存马也是比较麻烦的;像这种根目录是主站的,命名一定不要再根目录,否则可能会导致主站内容丢失)

这篇关于渗透测试实战—教育站点(若依系统的shiro反序列化利用)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1099477

相关文章

Java实战之利用POI生成Excel图表

《Java实战之利用POI生成Excel图表》ApachePOI是Java生态中处理Office文档的核心工具,这篇文章主要为大家详细介绍了如何在Excel中创建折线图,柱状图,饼图等常见图表,需要的... 目录一、环境配置与依赖管理二、数据源准备与工作表构建三、图表生成核心步骤1. 折线图(Line Ch

CSS3 最强二维布局系统之Grid 网格布局

《CSS3最强二维布局系统之Grid网格布局》CS3的Grid网格布局是目前最强的二维布局系统,可以同时对列和行进行处理,将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局,本文介... 深入学习 css3 目前最强大的布局系统 Grid 网格布局Grid 网格布局的基本认识Grid 网

Java使用Tesseract-OCR实战教程

《Java使用Tesseract-OCR实战教程》本文介绍了如何在Java中使用Tesseract-OCR进行文本提取,包括Tesseract-OCR的安装、中文训练库的配置、依赖库的引入以及具体的代... 目录Java使用Tesseract-OCRTesseract-OCR安装配置中文训练库引入依赖代码实

SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程

《SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程》本文详细介绍了如何在虚拟机和宝塔面板中安装RabbitMQ,并使用Java代码实现消息的发送和接收,通过异步通讯,可以优化... 目录一、RabbitMQ安装二、启动RabbitMQ三、javascript编写Java代码1、引入

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

修改若依框架Token的过期时间问题

《修改若依框架Token的过期时间问题》本文介绍了如何修改若依框架中Token的过期时间,通过修改`application.yml`文件中的配置来实现,默认单位为分钟,希望此经验对大家有所帮助,也欢迎... 目录修改若依框架Token的过期时间修改Token的过期时间关闭Token的过期时js间总结修改若依

在Java中使用ModelMapper简化Shapefile属性转JavaBean实战过程

《在Java中使用ModelMapper简化Shapefile属性转JavaBean实战过程》本文介绍了在Java中使用ModelMapper库简化Shapefile属性转JavaBean的过程,对比... 目录前言一、原始的处理办法1、使用Set方法来转换2、使用构造方法转换二、基于ModelMapper

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具