Skip to content

Commit 3d1ace6

Browse files
authored
Merge pull request Y4tacker#6 from Y4tacker/codex/add-foundational-technologies-for-java-security-57a2cd
docs: expand README with Java security resources and recommended learning paths
2 parents f9561ea + 18c9b75 commit 3d1ace6

1 file changed

Lines changed: 30 additions & 0 deletions

File tree

README.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,21 @@
7979

8080
如果想系统学习CC链、CB链的话这部分还是推荐p牛的[Java安全漫谈](https://github.com/phith0n/JavaThings),我只是简单写写便于自己复习而已(这部分看我下面的share并不适合新人,过了这么久看过网上很多文章还是觉得P牛写的更适合新人)
8181

82+
### 2.1 反序列化基础技术补充(建议先补理论再看链子)
83+
84+
- **官方机制与防护入口(必修)**
85+
- [Java Object Serialization Specification](https://docs.oracle.com/en/java/javase/22/docs/specs/serialization/index.html)(序列化协议、`readObject/writeObject``serialVersionUID`等基础语义)
86+
- [JEP 290: Filter Incoming Serialization Data](https://openjdk.org/jeps/290)(全局/上下文过滤器设计思路)
87+
- **漏洞定义与防御基线(必修)**
88+
- [CWE-502: Deserialization of Untrusted Data](https://cwe.mitre.org/data/definitions/502.html)(风险定义、常见后果与缓解建议)
89+
- [OWASP Deserialization Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/Deserialization_Cheat_Sheet.html)(工程侧防护 checklist)
90+
- **工具与实践(建议配合靶场)**
91+
- [ysoserial](https://github.com/frohoff/ysoserial)(理解 gadget chain 构造与触发路径的经典工具)
92+
93+
### 2.2 建议学习顺序(反序列化)
94+
95+
1. 先读序列化规范 -> 2. 理解 `ObjectInputStream` 触发路径 -> 3. 学 URLDNS/CC 等入门链 -> 4. 学 JEP 290 与白名单过滤 -> 5. 再看特定框架(Hessian/XStream/SnakeYAML)利用。
96+
8297
- [Java 反序列化取经路(强推)](https://su18.org/post/ysuserial/)
8398
- [Java反序列化之URLDNS](https://github.com/Y4tacker/JavaSec/blob/main/%E5%85%B6%E4%BB%96/Java%E5%8F%8D%E5%BA%8F%E5%88%97%E5%8C%96%E4%B9%8BURLDNS/Java%E5%8F%8D%E5%BA%8F%E5%88%97%E5%8C%96%E4%B9%8BURLDNS.md)
8499
- [CommonsCollections1笔记](https://github.com/Y4tacker/JavaSec/blob/main/2.反序列化专区/CommonsCollections1/CommonsCollections1.md)
@@ -120,6 +135,21 @@
120135

121136
可以对比jackson简单学习下,这里我也会简单提一下jackson的一些利用,当然不会很详细,但是会简单列出一些触发原理,而且有些payload是共通的,这里也不以收集各个依赖下利用的payload为主
122137

138+
### 3.1 JSON反序列化基础技术补充(Fastjson / Jackson)
139+
140+
- **Jackson(必修)**
141+
- [Jackson Polymorphic Deserialization CVE Criteria](https://github.com/FasterXML/jackson/wiki/Jackson-Polymorphic-Deserialization-CVE-Criteria)(官方维护者对“可利用条件”的边界说明)
142+
- [Jackson Polymorphic Deserialization Docs](https://github.com/FasterXML/jackson-docs/wiki/JacksonPolymorphicDeserialization)`@JsonTypeInfo` 与 Default Typing 的行为)
143+
- **Fastjson(必修)**
144+
- [fastjson2 官方仓库](https://github.com/alibaba/fastjson2)(默认安全策略与新版本能力演进)
145+
- [fastjson2 features_cn 文档](https://github.com/alibaba/fastjson2/blob/main/docs/features_cn.md)(了解 AutoType 等特性开关,避免误配)
146+
- **通用风险视角(建议)**
147+
- [OWASP API Security Top 10](https://owasp.org/API-Security/)(将 JSON 反序列化问题放到 API 风险体系中看)
148+
149+
### 3.2 建议学习顺序(Fastjson / Jackson)
150+
151+
1. 先搞清楚类型系统与自动类型机制 -> 2. 看历史漏洞成因与补丁策略 -> 3. 再学利用链触发细节 -> 4. 最后沉淀黑/白盒识别与加固 checklist。
152+
123153
- Jackson
124154

125155
- [Jackson的利用触发及小细节(比较鸡肋仅作为学习了解)](https://github.com/Y4tacker/JavaSec/blob/main/3.FastJson%E4%B8%93%E5%8C%BA/Jackson%E7%9A%84%E5%88%A9%E7%94%A8%E8%A7%A6%E5%8F%91/index.md)

0 commit comments

Comments
 (0)