首页 > 编程语言 >【第68课】Java安全&原生反序列化&SpringBoot攻防&heapdump提取&CVE

【第68课】Java安全&原生反序列化&SpringBoot攻防&heapdump提取&CVE

时间:2024-08-20 10:54:10浏览次数:9  
标签:CVE Java 安全 github https 序列化 com

免责声明

本文发布的工具和脚本,仅用作测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。

如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利,则应及时通知并提供身份证明,所有权证明,我们将在收到认证文件后删除相关内容。

文中所涉及的技术、思路及工具等相关知识仅供安全为目的的学习使用,任何人不得将其应用于非法用途及盈利等目的,间接使用文章中的任何工具、思路及技术,我方对于由此引起的法律后果概不负责。

知识点:
1、Java安全-原生反序列化-3大类接口函数&利用
2、Java安全-SpringBoot攻防-泄漏安全&CVE安全

一、演示案例-Java安全-反序列化-原生序列化类函数

1、前言

序列化是将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
白盒发现(特征类接口函数

2、原生序列化类函数

SnakeYaml

完整的YAML1.1规范Processor,支持Java对象的序列化/反序列化
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
需要注意下jndi注入版本问题
在这里插入图片描述

XMLDecoder

xml语言格式序列化类函数接口
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

ObjectInputStream.readObject

任何类如果想要序列化必须实现
java.io.Serializable接口
在这里插入图片描述
在这里插入图片描述

ysoserial

在这里插入图片描述
在这里插入图片描述
该项目有个好处就是能看到一些利用链对应的具体版本
在这里插入图片描述

Yakit

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
假如不知道对方能用什么利用链生成payload,可以利用万能利用链(URLDNS)进行POC测试
在这里插入图片描述
在这里插入图片描述

SerializedPayloadGenerator

该工具项目搭建地址参考:WEB攻防-PHP反序列化&CLI框架类&PHPGGC生成器&TP&Yii&Laravel利用-CSDN博客
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、利用项目

Yakit

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

ysoserial

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

SerializedPayloadGenerator

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

二、演示案例-Java安全-SpringBoot框架-泄漏&CVE

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

0、检测清单

https://github.com/LandGrey/SpringBootVulExploit
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1、黑盒发现(人工识别,BP插件)

人工识别

1、网站图片文件是一个绿色的树叶。2、特有的报错信息。3、Whitelabel Error Page关键字
在这里插入图片描述
在这里插入图片描述

BP插件

https://github.com/API-Security/APIKit
打开BurpSuite页面,点击Extender然后选择Extensions,添加APIKit.jar
在这里插入图片描述
安装好插件后啥都不用管,让数据包经过BP即可触发插件被动扫描
在这里插入图片描述

2、白盒发现(pom.xml,引用库)

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

在这里插入图片描述
配置文件Actuator设置全部暴露

management.endpoints.web.exposure.include=*

在这里插入图片描述
在这里插入图片描述

3、泄漏安全(内部路由泄露)

一、https://github.com/AabyssZG/SpringBoot-Scan

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

https://github.com/whwlsfb/JDumpSpider(该工具不支持自定义关键字)
在这里插入图片描述
在这里插入图片描述
https://github.com/wyzxxz/heapdump_tool(支持关键字搜索)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、漏洞安全(利用类,CVE漏洞等)

一、针对于框架CVE漏洞

https://github.com/AabyssZG/SpringBoot-Scan
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、利用类漏洞来进行RCE攻击

https://github.com/0x727/SpringBootExploit
在这里插入图片描述
服务器上执行JNDIExploit工具(可以本地、也可以远程VPS上运行)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5、CMS源码审计

一、安装源码

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、源码审计
从pom.xml看有没有调用Actuator库
  • 1

在这里插入图片描述

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

在这里插入图片描述
漏洞检测
在这里插入图片描述
泄露安全(heapdump)
在这里插入图片描述
使用heapdump敏感信息查询工具提取敏感信息
JDumpSpider
在这里插入图片描述
在这里插入图片描述

6、遇到spring boot框架怎么办?

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

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

标签:CVE,Java,安全,github,https,序列化,com
From: https://blog.csdn.net/Lucker_YYY/article/details/141352458

相关文章

  • 在java中实现使用文件名称和文件路径从一个服务器保存文件到另一个服务器
    要在Java中实现从一个服务器下载文件并将其保存到另一个服务器的功能,你可以采用以下步骤:从源服务器下载文件。将文件保存到目标服务器。这里我们将使用Java的HttpURLConnection来处理HTTP请求,并使用FTP协议通过JSch或ApacheCommonsNet库将文件上传到另一台服务器。首先,你需......
  • Java单例模式
    定义单例模式(SingletonPattern)是一种创建型设计模式,它确保一个类只有一个实例,并提供一个全局访问点来访问该实例。这种模式的核心在于控制类的实例化过程,保证在任何时间点,一个类只有一个实例存在,并且这个实例可以被系统的所有其他部分通过一个公共的访问点访问。1、唯一实例:单......
  • 深入理解Java虚拟机(类加载机制)
    文章收录在网站:http://hardyfish.top/文章收录在网站:http://hardyfish.top/文章收录在网站:http://hardyfish.top/文章收录在网站:http://hardyfish.top/类加载机制类加载机制的过程是什么呢?JVM把描述类的数据从Class文件中加载到内存中,并对其进行校验,解析,初始化......
  • Java计算机毕业设计的学生宿舍管理系统(开题+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景:随着高等教育规模的不断扩大,学生宿舍作为学生日常生活与学习的重要场所,其管理水平直接关系到学生的生活质量与校园安全。传统的学生宿舍管理方式往往......
  • java计算机毕业设计中华美食菜谱系统设计与实现(开题+程序+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景在中华大地,美食文化源远流长,博大精深,每一道菜肴都蕴含着丰富的历史底蕴与地方特色。随着信息技术的飞速发展,人们获取信息的方式日益多样化,但如何在浩......
  • java计算机毕业设计校园招聘管理系统(开题+程序+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着高等教育的普及与就业市场的日益竞争激烈,校园招聘已成为连接企业与高校人才的重要桥梁。然而,传统的校园招聘模式往往面临着信息不对称、流程繁琐......
  • java计算机毕业设计疫情期间的物业管理系统(开题+程序+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景在新冠疫情全球蔓延的背景下,社区作为疫情防控的第一线,其管理水平与效率直接关系到居民的健康安全与社会的稳定。传统物业管理方式在面对突发公共卫生......
  • Java格式化
    //格式化输出publicclassMain{publicstaticvoidmain(String[]args){doubled=3.1415926;System.out.printf("%.2f\n",d);//显示两位小数3.14System.out.printf("%.4f\n",d);//显示4位小数3.1416}}Java的格式化功能......
  • java计算机毕业设计校园闲置交易平台(开题+程序+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景:随着高等教育的普及与校园生活的日益丰富,大学生群体中的物品更新换代速度加快,大量闲置物品如书籍、电子产品、生活用品等随之产生。这些物品往往处于......
  • java计算机毕业设计装修建材商城(开题+程序+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着城市化进程的加速和居民生活品质的提升,装修建材行业迎来了前所未有的发展机遇。传统建材市场逐渐暴露出信息不对称、交易效率低下、售后服务难以......