JavaSec
a rep for documenting my study, may be from 0 to 0.1
Install / Use
/learn @Y4tacker/JavaSecREADME
JavaSec
0.For Me
仅仅只是想写给自己看
一个记录我Java安全学习过程的仓库,本仓库不是真正意义上的教学仓库(rep中的内容都是我在平时的一些笔记没有很强逻辑性,内容水平自然也是参差不齐,可能有些对我来说很简单的便忽略不计对其他人来说却是难点,因此作为一个学习目录的话可能会好很多),单纯这是笔者简单记一些笔记,顺便见证自己从0到0.1的过程吧,另外后面如果看到一些好的东西在学习完之后也会贴上链接,少了很多介绍性的东西,以后等厉害了再慢慢补充吧.当然如果感觉还不错的话,师傅们记得给个 Star 呀 ~
<p align="right">@Y4tacker</p> <p align="right">2021年10月18日,梦的开始</p>1.基础篇
1.1 Java安全基础技术补充(建议优先掌握)
- JVM 规范与字节码基础(必修)
- The Java Virtual Machine Specification (Java SE 17)(官方 JVM 规范,理解类加载、字节码验证、方法调用语义)
- Java Platform, Standard Edition VM Guide (JDK 17)(JVM 调优与运行机制入门)
- Java语言与并发内存模型(必修)
- Java Language Specification(语言行为、反射/泛型/异常等语义来源)
- JEP 290: Filter Incoming Serialization Data(反序列化防护基础,Java 安全核心知识点)
- 常见漏洞知识体系(必修)
- OWASP Top 10: 2021(Web 应用通用风险基线)
- CWE-502: Deserialization of Untrusted Data(Java 反序列化高频风险权威定义)
- OWASP: XML External Entity Prevention Cheat Sheet(XXE 防护建议,可对应本仓库 XXE 学习)
- Java Web 运行时与组件安全(必修)
- Jakarta Servlet Specification(理解 Filter/Servlet/Listener 生命周期,对内存马与链路分析非常关键)
- Apache Tomcat Documentation(容器行为与安全配置参考)
- 依赖与供应链安全(建议尽早)
- OWASP Dependency-Check(Java 依赖漏洞扫描基础工具)
- Maven: Introduction to the Dependency Mechanism(理解传递依赖,定位 gadget 来源)
- 编码防护与审计基线(建议配合实战)
- OWASP Java Security Cheat Sheet
- OWASP Code Review Guide(建立 Java 代码审计检查项)
1.2 建议学习顺序(面向 Java 安全)
- JVM/JLS 基础 -> 2. 类加载与反射/动态代理 -> 3. 序列化与 JEP 290 -> 4. Servlet/Tomcat 生命周期 -> 5. 常见漏洞体系(OWASP/CWE)-> 6. 依赖与供应链安全。
- Java反射
- Java动态代理
- JNDI注入
- 反序列化
- 类加载器与双亲委派模型
- 两种实现Java类隔离加载的方法(当然同名目录下也有pdf,防止以后站不在了)
- ClassLoader(类加载机制)
- SPI学习
- JavaAgent
- Java9模块化特性
- JMX
- JDWP远程执行命令
- Tomcat中容器的pipeline机制(学了以后更好帮助Tomcat-Valve类型内存马理解)
- ASM学习+Class文件结构了解+JVM一些简单知识
- Xpath注入
- JSTL(看菜鸟教程即可)
- JEP290基础概念
- Java中的XXE
- 通过反射扫描被注解修饰的类
- 低版本下Java文件系统00截断
- 有趣的XSS之Normalize
- 红队-java代码审计生命周期(带你简单了解审计)
2.反序列化
很早前学了,后面补上,更多是说一点关键的东西,不会很详细,好吧这里再拓展成反序列化专区好了
如果想系统学习CC链、CB链的话这部分还是推荐p牛的Java安全漫谈,我只是简单写写便于自己复习而已(这部分看我下面的share并不适合新人,过了这么久看过网上很多文章还是觉得P牛写的更适合新人)
2.1 反序列化基础技术补充(建议先补理论再看链子)
- 官方机制与防护入口(必修)
- Java Object Serialization Specification(序列化协议、
readObject/writeObject、serialVersionUID等基础语义) - JEP 290: Filter Incoming Serialization Data(全局/上下文过滤器设计思路)
- Java Object Serialization Specification(序列化协议、
- 漏洞定义与防御基线(必修)
- CWE-502: Deserialization of Untrusted Data(风险定义、常见后果与缓解建议)
- OWASP Deserialization Cheat Sheet(工程侧防护 checklist)
- 工具与实践(建议配合靶场)
- ysoserial(理解 gadget chain 构造与触发路径的经典工具)
2.2 建议学习顺序(反序列化)
- 先读序列化规范 -> 2. 理解
ObjectInputStream触发路径 -> 3. 学 URLDNS/CC 等入门链 -> 4. 学 JEP 290 与白名单过滤 -> 5. 再看特定框架(Hessian/XStream/SnakeYAML)利用。
- Java 反序列化取经路(强推)
- Java反序列化之URLDNS
- CommonsCollections1笔记
- CommonsCollections2笔记
- CommonsCollections3笔记
- CommonsCollections5笔记
- CommonsCollections6-HashSet笔记
- CommonsCollections6-HashMap笔记
- CommonsCollections6-Shiro1.2.4笔记
- CommonsCollections7笔记
- CommonCollectionsWithoutChainedTransformer
- 使用TemplatesImpl改造CommonsCollections2
- 网上看到的套娃CommonsCollections11
- CommonsBeanutils1笔记
- CommonsBeanutils1-Shiro(无CC依赖)
- FileUpload1-写文件\删除文件
- C3P0利用链简单分析
- C3P0Tomcat不出网利用(思路就是之前高版本JNDI注入的思路)
- [反制Ysoserial0.0.6版本-JRMP](https://github.com/Y4tacker/JavaSec/blob/main/2.反序列化专区/%E5%8F%8D%E5%88%B6Ysoserial0.0.6%E7%89%88%E6%9C%AC-JRMP/%E5%8F%8D
Related Skills
node-connect
337.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
337.3kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.2kCommit, push, and open a PR
