如果师傅们看到有好的文章,也欢迎 pr,一起分享在这个 repo 中
详细项目代码在 JavaSecurity 文件夹中
设计项目的初衷是为了让更多师傅在学习 Java 安全的时候能够有一条比较清晰的学习路线,而不是一头雾水的学,希望师傅们通过这个项目学习 Java 安全时有能够所收获。
项目文件夹中包含了部分用于漏洞调试的代码,对应文章记录在博客。
https://github.com/Y4tacker/JavaSec
先学 Springboot【狂神说Java】SpringBoot最新教程IDEA版通俗易懂
学一下 vue,VUE 可以过快一点:尚硅谷Vue2.0+Vue3.0全套教程丨vuejs从入门到精通
学完这两个之后可以自己过一个小项目【实战】基于SpringBoot+Vue开发的前后端分离博客项目完整教学
- 学完这些内容最多花费两个月时间。
推荐的 Java 基础,哪块不懂看哪块,二倍速【狂神说Java】Java零基础学习视频通俗易懂
可以看b站白日梦组长的视频,讲的非常好
- Java反序列化漏洞专题-基础篇(21/09/05更新类加载部分)
- Java-IO流
- 反射
- JDK动态代理
- 反序列化概念与利用
- URLDNS链分析
- 类的动态加载
- 反弹shell学习 ———— 这里主要是为了 yso 的使用
- Java 反弹 shell 与 Runtime.getRuntime().exec() 的故事
一开始学还是会有点懵的,学到后面自然而然就会了
接着就可以开始 CC 链了;CC 链是 1-6-3-2-4-5-7
还有一个 CC11;这一块 CC 链的学习要多自己总结,有利于后续的学习。
CC 链部分结束,进入 shiro 部分,shiro 之前我们已经走过开发了,所以理解起来很简单。
- 这块是基础中的基础,但是也很难,要静下心来学的。
- RMI基础
- RMI的几种攻击方式
- JNDI学习
- 浅谈 JEP290
LDAP 是包含在 JNDI 里面的
学完上面的之后就可以开始学习其他的了。
- FastJson基础
- Fastjson-1.2.24版本漏洞分析
- Fastjson篇03-Fastjson各版本绕过分析
- Java反序列化Fastjson篇04-Fastjson1.2.62-1.2.68版本反序列化漏洞
- Java反序列化Fastjson篇05-写给自己看的一些源码深入分析
2022 蓝帽杯初赛有一道 fastjson 1.2.68 的题目 CTFReposityStore
这些学完之后可以学一下内存马,Weblogic,Tomcat 和 Spring 开发;这里先学 Spring 开发。
以下四个洞虽然简单,但很有趣。
- CVE-2015-4852 WebLogic T3 反序列化分析
- CVE-2017-10271 WebLogic XMLDecoder
- CVE-2021-2109 WebLogic JNDI 注入
- WebLogic 弱口令&文件上传&SSRF
关于内存马的环境搭建可以看我这一篇文章:Servlet 项目搭建 学习完之后最好自己可以用 Java Agent 实现一个 RASP
- Java反序列化之内存马系列 01-基础内容学习
- Java内存马系列-02-内存马介绍
- Java内存马系列-03-Tomcat 之 Filter 型内存马
- Java内存马系列-04-Tomcat 之 Listener 型内存马
- Java内存马系列-05-Tomcat 之 Servlet 型内存马
- Java内存马系列-06-Tomcat 之 Valve 型内存马
- Java Agent 内存马学习
其实 Java 安全不光只有反序列化,其实代码审计也是很重要的,我最开始学的时候就踏入了这个误区。
WebGoat 代码打底 WebGoat代码审计
详细的代码审计的文章与资料,指路 Java Owasp Top10 审计
因为 SnakeYaml 的链子和 Fastjson 特别像,所以又复习了一遍 Fastjson 的源码
Java反序列化Fastjson篇05-写给自己看的一些源码深入分析
这块应该是目前学习的重点之一
CVE-2023-49299 & CVE-2024-23320 & CVE-2023-49109 漏洞概述:https://xz.aliyun.com/t/13981
用CodeQL分析漏洞_CVE-2022-42889 | l3yx's blog