JavaSecurityLearning
原文地址:https://github.com/Drun1baby/JavaSecurityLearning
项目的初衷是为了让更多师傅在学习 Java 安全的时候能够有一条比较清晰的学习路线,也希望师傅们通过这个项目学习 Java 安全时有能够所收获
项目文件夹中包含了部分用于漏洞调试的代码(如果有些东西打不通可以直接看代码),对应文章记录在博客中。
基础开发(是一定要学的)
首先学习 Springboot,推荐观看【狂神说 Java】SpringBoot 最新教程 IDEA 版通俗易懂。
接着学习 vue,VUE 可以加快进度:尚硅谷 Vue2.0+Vue3.0 全套教程丨 vuejs 从入门到精通。
学完上述两个内容后,可以尝试完成一个小项目【实战】基于 SpringBoot+Vue 开发的前后端分离博客项目完整教学。
-
学习完这些内容最多耗时两个月。
推荐的 Java 基础部分,哪里不懂看哪里,二倍速【狂神说 Java】Java 零基础学习视频通俗易懂。【狂神说Java】Java零基础学习视频通俗易懂_哔哩哔哩_bilibili)
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 开发。
Weblogic
-
以下四个漏洞虽然简单,但很有趣。
-
https://drun1baby.top/2023/03/06/WebLogic-弱口令-文件上传-SSRF/)
EL 表达式注入(本质上还是 OGNL 表达式注入)
内存马
-
关于内存马的环境搭建可以参考这篇文章:Servlet 项目搭建。学习完之后,最好自己可以用 Java Agent 实现一个 RASP。
关于 Java 代码审计(很多人对这块其实有个误区)
实际上,Java 安全不仅仅包括反序列化,代码审计也非常重要。在刚开始学习时,我也陷入了这个误区。
以 WebGoat 代码为基础进行学习 WebGoat 代码审计。
详细的代码审计的文章与资料,请参考 Java Owasp Top10 审计。
Springboot 文件上传 RCE https://github.com/LandGrey/spring - boot - upload - file - lead - to - rce - tricks。
查漏补缺
-
实际上,没必要学习太多链子,实战才是最重要的。
由于 SnakeYaml 的链子与 Fastjson 非常相似,因此又复习了一遍 Fastjson 的源码。
Java 反序列化 Fastjson 篇 05 - 写给自己看的一些源码深入分析。
JS 引擎攻防 https://xz.aliyun.com/t/8697。
Struts2 系列漏洞
这部分内容应该是目前学习的重点之一。
Java Struts2 系列 S2 - 001。https://drun1baby.github.io/2022/10/27/Java-Struts2-系列-S2-001/)
Jackson 系列漏洞
Jackson 反序列化(二)CVE - 2017 - 7525。
Jackson 反序列化(三)CVE - 2017 - 17485。
Jackson 反序列化 —— https://boogipop.com/2023/06/20/Jackson 反序列化通杀 Web 题 /。https://boogipop.com/2023/06/20/Jackson反序列化通杀Web题/)
Apache
Apache DolphinScheduler
CVE-2023-49299 & CVE-2024-23320 & CVE-2023-49109 漏洞概述:https://xz.aliyun.com/t/13981
Apache Ofbiz
Apache OFBiz未授权命令执行浅析(CVE-2023-51467)
CodeQL
师傅可能在编译的时候还会遇到一些问题,然而新版本的 CodeQL 对于 Java 已经不需要编译了
用CodeQL分析漏洞_CVE-2022-42889 | l3yx's blog
漏洞挖掘
Tabby 的使用:https://github.com/wh1t3p1g/tabby
kali魔改版,新增60款工具,需要的兄弟们自取
我用夸克网盘分享了「zss_kali_kde完整版.7z」,点击链接即可保存。打开「夸克APP」,无需下载在线播放视频,畅享原画5倍速,支持电视投屏。
链接:https://pan.quark.cn/s/1b0e2c5f865d
有想报考oscp的读者可以咨询作者,我们泷羽sec目前正在做oscp培训,泷老师带着打100+台靶机,同时还有直播讲解知识点。
现邀请读者参加我们的帮会,99元即可享受到超多红队工具以及各种资料,包括但不限于“照妖镜”、免杀教程、免杀工具、以及安卓免杀工具(不定期上线)
通过以下二维码进帮会可以私聊笔者
还有很多poc以及一些二开的工具