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

免责声明

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

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

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

知识点:
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.漏洞安全(利用相关框架漏洞检测工具测试是否存在漏洞)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值