Drun1baby / JavaSecurityLearning

记录一下 Java 安全学习历程,也算是半条学习路线了

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

如果师傅们看到有好的文章,也欢迎 pr,一起分享在这个 repo 中

详细项目代码在 JavaSecurity 文件夹中

JavaSecurityLearning

设计项目的初衷是为了让更多师傅在学习 Java 安全的时候能够有一条比较清晰的学习路线,而不是一头雾水的学,希望师傅们通过这个项目学习 Java 安全时有能够所收获。

项目文件夹中包含了部分用于漏洞调试的代码,对应文章记录在博客。

Ref:

https://github.com/Y4tacker/JavaSec

基础开发(是一定要学的)

先学 Springboot【狂神说Java】SpringBoot最新教程IDEA版通俗易懂

学一下 vue,VUE 可以过快一点:尚硅谷Vue2.0+Vue3.0全套教程丨vuejs从入门到精通

学完这两个之后可以自己过一个小项目【实战】基于SpringBoot+Vue开发的前后端分离博客项目完整教学

  • 学完这些内容最多花费两个月时间。

推荐的 Java 基础,哪块不懂看哪块,二倍速【狂神说Java】Java零基础学习视频通俗易懂

Java 安全基础

可以看b站白日梦组长的视频,讲的非常好

一开始学还是会有点懵的,学到后面自然而然就会了

Java 反序列化基础

接着就可以开始 CC 链了;CC 链是 1-6-3-2-4-5-7

还有一个 CC11;这一块 CC 链的学习要多自己总结,有利于后续的学习。

CC 链部分结束,进入 shiro 部分,shiro 之前我们已经走过开发了,所以理解起来很简单。

Java 反序列化进阶

LDAP 是包含在 JNDI 里面的


学完上面的之后就可以开始学习其他的了。

Fastjson

2022 蓝帽杯初赛有一道 fastjson 1.2.68 的题目 CTFReposityStore

Log4j2

这些学完之后可以学一下内存马,Weblogic,Tomcat 和 Spring 开发;这里先学 Spring 开发。

Spring开发学习

Weblogic

以下四个洞虽然简单,但很有趣。

EL 表达式注入(本质上还是 OGNL 表达式注入)

内存马

关于内存马的环境搭建可以看我这一篇文章:Servlet 项目搭建

关于 Java 代码审计(很多人对这块其实有个误区)

其实 Java 安全不光只有反序列化,其实代码审计也是很重要的,我最开始学的时候就踏入了这个误区。

WebGoat 代码打底 WebGoat代码审计

详细的代码审计的文章与资料,指路 Java Owasp Top10 审计

查漏补缺

Java反序列化之C3P0链

Java OWASP 中的 XXE 代码审计

Java OWASP 中的 SQL 注入代码审计

Java 代码审计之华夏 ERP CMS v2.3

Java反序列化之 SnakeYaml 链

因为 SnakeYaml 的链子和 Fastjson 特别像,所以又复习了一遍 Fastjson 的源码

Java反序列化Fastjson篇05-写给自己看的一些源码深入分析

Struts2 系列漏洞

这块应该是目前学习的重点之一

Java Struts2 学习与环境搭建

Java Struts2 系列 S2-001

Jackson 系列漏洞

Jackson 反序列化(一)漏洞原理

Jackson 反序列化(二)CVE-2017-7525

Jackson 反序列化(三)CVE-2017-17485

CodeQL

CodeQL 入门

CodeQL 官方文档学习

用CodeQL分析漏洞_CVE-2022-42889 | l3yx's blog

Star History Chart

About

记录一下 Java 安全学习历程,也算是半条学习路线了

License:GNU General Public License v3.0


Languages

Language:Java 93.2%Language:HTML 3.5%Language:Python 2.8%Language:CSS 0.3%Language:Dockerfile 0.2%Language:FreeMarker 0.1%Language:C 0.0%Language:JavaScript 0.0%