Day68:WEB攻防-Java安全原生反序列化SpringBoot攻防heapdump提取CVE

目录

Java安全-反序列化-原生序列化类函数

原生序列化类函数

SnakeYaml

XMLDecoder

ObjectInputStream.readObject

工具利用

ysoserial

Yakit

SerializedPayloadGenerator

Java安全-SpringBoot框架-泄漏&CVE

SpringBoot Actuator-黑白盒发现

人工识别

BurpSuite插件

pox.xml & 引用库

泄露安全(内部路由泄露)

漏洞安全(CVE,利用类)

CMS源码审计

Spring boot框架思路


知识点:

1、Java安全-原生反序列化-3大类接口函数&利用

2、Java安全-SpringBoot攻防-泄漏安全&CVE安全

Java安全-反序列化-原生序列化类函数

序列化是将Java对象转换成字节流的过程。而反序列化是将字节流转换成Java对象的过程

序列化数据特征:java序列化的数据一般会以标记(ac ed 00 05)开头,base64编码的特征为rO0AB

JAVA常见的序列化和反序列化的方法:JAVA 原生序列化和JSON 类(fastjson、jackson)序列化等。两种方式做的事情都是一样的,为什么要区分开来?

因为利用起来有所不同
fastjson、jackson等反序列化就用网上给的EXP、POC去测试
java原生类反序列化就会用到专门工具(ysoserial)去生成payload去测试

黑盒发现(流量捕获到特征ac ed 00 05、rO0AB

白盒发现(特征类接口函数)

原生序列化类函数

1、原生序列化类函数:
-SnakeYaml:完整的YAML1.1规范Processor,支持Java对象的序列化/反序列化
-XMLDecoder:xml语言格式序列化类函数接口
-ObjectInputStream.readObject():任何类如果想要序列化必须实现java.io.Serializable接口

SnakeYaml

完整的YAML1.1规范Processor,支持Java对象的序列化/反序列化

需要注意下jndi注入版本问题

XMLDecoder

xml语言格式序列化类函数接口

ObjectInputStream.readObject

任何类如果想要序列化必须实现  java.io.Serializable接口

工具利用

Yakit
https://yaklang.com/ //集成了ysoserial工具,图形化生成,推荐使用

ysoserial
https://github.com/frohoff/ysoserial //命令生成工具,不推荐使用

SerializedPayloadGenerator
https://github.com/NotSoSecure/SerializedPayloadGenerator //集成了ysoserial工具,网页图形化,推荐使用

ysoserial

该项目有个好处就是能看到一些利用链对应的具体版本

Yakit

假如不知道对方能用什么利用链生成payload,可以利用万能利用链(URLDNS)进行POC测试

SerializedPayloadGenerator

该工具项目搭建地址参考:https://blog.csdn.net/m0_60571842/article/details/134454939

Java安全-SpringBoot框架-泄漏&CVE

检测清单:https://github.com/LandGrey/SpringBootVulExploit

SpringBoot Actuator-黑白盒发现

SpringBoot Actuator模块提供了生产级别的功能,比如健康检查,审计,指标收集,HTTP跟踪等,帮助我们监控和管理Spring Boot应用。

人工识别

特征:

  • 网站图片文件是一个绿色的树叶。
  • 特有的报错信息。
  • Whitelabel Error Page关键字

BurpSuite插件

项目地址:https://github.com/API-Security/APIKit

打开BurpSuite页面,点击Extender然后选择Extensions,添加APIKit.jar

安装好插件后啥都不用管,让数据包经过BP即可触发插件被动扫描

pox.xml & 引用库

配置文件Actuator设置全部暴露

management.endpoints.web.exposure.include=*

泄露安全(内部路由泄露)

项目地址:https://github.com/AabyssZG/SpringBoot-Scan

heapdump敏感信息查询工具(配置密码,AK/SK等)

项目地址:https://github.com/whwlsfb/JDumpSpider

该工具不支持自定义关键字

项目地址:https://github.com/wyzxxz/heapdump_tool

支持关键字搜索

漏洞安全(CVE,利用类)

针对框架CVE漏洞:https://github.com/AabyssZG/SpringBoot-Scan

利用类漏洞来进行RCE攻击:https://github.com/0x727/SpringBootExploit

服务器上执行JNDIExploit工具(可以本地、也可以远程VPS上运行)

CMS源码审计

运行SQL文件

从pom.xml看有没有调用Actuator库

配置文件中Actuator设置是否为*(全部暴露) management.endpoints.web.exposure.include=*

漏洞检测 

泄露安全(heapdump)

使用heapdump敏感信息查询工具提取敏感信息
JDumpSpider

Spring boot框架思路

从两个方面去寻找安全问题:

  • 泄露安全(是否泄露了内部路由及heapdump)
  • 漏洞安全(利用相关框架漏洞检测工具测试是否存在漏洞)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/467553.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

华为配置WAPI-PSK安全策略实验

配置WAPI-PSK安全策略示例 组网图形 图1 配置WAPI-PSK安全策略组网图 配置流程组网需求配置思路配置注意事项操作步骤配置文件 配置流程 WLAN不同的特性和功能需要在不同类型的模板下进行配置和维护,这些模板统称为WLAN模板,如域管理模板、射频模板、VAP…

MATLAB的使用(二)

一,算法需求 算法五特性(1)有穷性。有穷性是指算法需在有穷步骤、有穷时间内结束。 (2)确定性。确定性是指每个步骤都有确切的意义,相同的输入有相同的输出。 (3)有效性。有效性是指可通过已实现的运算在有限次完成,或叫可行性。 (4)输入。…

信息学奥赛一本通之MAC端VSCode C++环境配置

前提 安装 Visual Studio CodeVSCode 中安装 C/C扩展确保 Clang 已经安装(在终端中输入命令:clang --version 来确认是否安装)未安装,在命令行执行xcode-select --install 命令,会自行安装,安装文件有点大…

超越传统的极限:解密B树与B+树的数据结构之美!

超越传统的极限:解密B树与B树的数据结构之美! B树和B树是在计算机科学中常用的平衡查找树数据结构,它们在处理大规模数据和磁盘存储方面具有重要的优势。本文将深入介绍B树和B树的基本概念、特点以及它们在数据库和文件系统中的应用&#xff…

AR/MR产品设计(二):如何用一双手完成与虚拟对象的自然交互

AR/MR产品设计(二):如何用一双手完成与虚拟对象的自然交互 - 知乎 手是我们与现实世界交互最重要的方式,同样在虚实混合的世界中是最重要的交互方式 在AR/MR/VR的交互中,手势交互会作为XR的重要交互动作,因…

强缓存和协商缓存

前言 计算机网络模型从底到上:物理层(光纤、网线)、链路层(MAC地址)、网络层(IP协议)、传输层(TCP\UDP)、应用层(HTTP\FTP\DNS)。HTTP协议是作用…

数据结构:栈「详解」

目录 一,栈的定义 二,栈的基本操作 1,顺序栈 1.1顺序栈的基本概念 1.2顺序栈的基本操作 2,链栈 2.1链栈的基本概念 2.2链栈的种类 2.3链栈的基本操作 三,栈的应用 1,函数递归调用 2,…

【论文阅读笔记】Split frequency attention network for single image deraining

1.论文介绍 Split frequency attention network for single image deraining 用于单幅图像去噪的分频注意力网络 Paper Code 2023年 SIVP 2.摘要 雨纹对图像质量的影响极大,基于数据驱动的单图像去噪方法不断发展并取得了巨大的成功。然而,传统的卷积…

Go语言gin框架中加载html/css/js等静态资源

Gin框架没有内置静态文件服务,但可以使用gin.Static或gin.StaticFS中间件来提供静态文件服务。 效果图如下: 一、gin 框架加载 Html 模板文件的方法 方式1:加载单个或多个html文件,需要指明具体文件名 r.LoadHTMLFiles("vie…

Sketch软件:重塑UI/UX设计流程的革命性工具

Sketch是一款在Mac操作系统上运行的矢量图形设计软件,其功能特色丰富多样,深受设计师们的喜爱。以下是Sketch软件的主要功能特色介绍: 专业矢量图形设计:Sketch为UI设计、移动应用设计和Web设计等领域提供了强大的支持。它支持线条…

优化选址问题 | 基于NSGAII求解考虑成本、救援时间和可靠性的海上救援选址多目标问题附matlab代码

目录 问题代码问题 NSGA-II(非支配排序遗传算法II)是一种流行的多目标优化算法,用于解决具有多个冲突目标的问题。在海上救援选址问题中,我们可能希望同时优化成本、救援时间和可靠性。以下是一个简化的示例,说明如何使用NSGA-II算法来解决这个问题,并提供相应的MATLAB代…

【数据结构】布隆过滤器

目录 前言 1. 什么是布隆过滤器? 2. 布隆过滤器的原理 2.1 添加元素原理 2.2 判断元素存在原理 3. 布隆过滤器使用场景 4. 使用 Java 语言实现布隆过滤器 测试用例 测试结果 注:手机端浏览本文章可能会出现 “目录”无法有效展示的情况&#x…

Flutter-底部弹出框(Widget层级)

需求 支持底部弹出对话框。支持手势滑动关闭。支持在widget中嵌入引用。支持底部弹出框弹出后不影响其他操作。支持弹出框中内容固定头部和下面列表时,支持触摸头部并在列表不在头部的时候支持滑动关闭 简述 通过上面的需求可知,就是在界面中可以支持…

【早鸟优惠|高录用|EI稳定检索】2024年虚拟现实、图像和信号处理国际学术会议(ICVISP 2024)诚邀投稿/参会!

【早鸟优惠|高录用|EI稳定检索】 2024年虚拟现实、图像和信号处理国际学术会议(ICVISP 2024)诚邀投稿/参会! # 早鸟优惠 # 先投稿先送审 # #投稿免费参会、口头汇报及海报展示# 2024年虚拟现实、图像和信号处理国际学术会议(I…

京津冀自动驾驶产业盛会“2024北京国际自动驾驶技术展览会”

随着科技的飞速发展,自动驾驶技术成为了汽车产业变革的热点和前沿。智能化、网联化已经成为推动汽车产业创新发展的重要力量,而自动驾驶技术则是其中的关键一环。它不仅能够提高道路安全性、缓解交通拥堵,还能为乘客带来更加舒适、便捷的出行…

RediSearch比Es搜索还快的搜索引擎

1、介绍 RediSearch是一个Redis模块,为Redis提供查询、二次索引和全文搜索。要使用RediSearch,首先要在Redis数据上声明索引。然后可以使用重新搜索查询语言来查询该数据。RedSearch使用压缩的反向索引进行快速索引,占用内存少。RedSearch索…

Qt5.14.2 深入理解Qt多线程编程,掌握线程池架构实现高效并发

在高并发的软件系统中,多线程编程是解决性能瓶颈和提高系统吞吐量的有效手段。作为跨平台的应用程序开发框架,Qt为我们提供了强大的多线程支持。本文将深入探讨Qt多线程编程的实现细节,并介绍线程池的设计思想,帮助读者彻底掌握Qt…

Flutter-数字切换动画

效果 需求 数字切换时新数字从上往下进入,上个数字从上往下出新数字进入时下落到位置并带有回弹效果上个数字及新输入切换时带有透明度和缩放动画 实现 主要采用AnimatedSwitcher实现需求,代码比较简单,直接撸 import dart:math;import p…

huawei 华为交换机 配置手工模式链路聚合示例

组网需求 如 图 3-21 所示, SwitchA 和 SwitchB 通过以太链路分别都连接 VLAN10 和 VLAN20 的网络,SwitchA 和 SwitchB 之间有较大的数据流量。 用户希望SwitchA 和 SwitchB 之间能够提供较大的链路带宽来使相同 VLAN 间互相通信。 同时用户也希望能够提…

网页星光闪耀背景动画特效

网页星光闪耀背景动画特效 源码下载 网页星光闪耀背景动画特效