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

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)
  • 漏洞安全(利用相关框架漏洞检测工具测试是否存在漏洞)


http://www.kler.cn/a/273604.html

相关文章:

  • 浏览器中的事件循环
  • dc源码铺子应用部署教程
  • 【案例】旗帜飘动
  • 新能源汽车空调压缩机:科技驱动的冷暖核心
  • vue3中使用vue-diff工具来比较数据差异
  • 【pycharm jupyter】启动报错
  • 【小程序开发】蓝牙设备API——单点蓝牙应用程序编程接口整理(二)
  • 强缓存和协商缓存
  • 基于深度学习YOLOv8+Pyqt5的工地安全帽头盔佩戴检测识别系统(源码+跑通说明文件)
  • Linux系统之jq工具的基本使用
  • TCP - 传输控制协议
  • Java基础经典10道题
  • Python Web开发记录 Day13:Django part7 Ajax入门与案例(任务管理)
  • java 常见排序算法以及详细代码
  • 婚恋交友系统开发-PHP书写-uniAPP开发-安装环境7.3-数据库5.6-源码交付-支持二开!
  • django管理日志记录(日志审计django_admin_log)
  • p2p原理
  • WMware安装ghost镜像
  • 使用verilog写一个模拟比特币挖矿游戏及testbench
  • Stable Diffusion WebUI 生成参数:采样器(Sampling method)和采样步数(Sampling steps)
  • 【解读】NIST网络安全框架CSF 2.0
  • idea+vim+pycharm的块选择快捷键
  • WRF模型教程(ububtu系统)-WPS(WRF Pre-Processing System)概述
  • 常用pip命令
  • 在Latex中优雅的插入svg图片(Ubuntu22.04)
  • 事务、并发、锁机制的实现