免责声明
本文发布的工具和脚本,仅用作测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。
如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利,则应及时通知并提供身份证明,所有权证明,我们将在收到认证文件后删除相关内容。
文中所涉及的技术、思路及工具等相关知识仅供安全为目的的学习使用,任何人不得将其应用于非法用途及盈利等目的,间接使用文章中的任何工具、思路及技术,我方对于由此引起的法律后果概不负责。
知识点:
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框架怎么办?
从两个方面去寻找安全问题: