Skip to content

Erosion2020/JavaSec

Repository files navigation

JavaSec

嗨,师傅们,我是从2024年底开始踏入Java安全领域的新手。从零开始学,走过不少弯路,也遇到不少“师傅们”默认你已懂的代码细节,比如FastJson TemplatesImpl漏洞利用中那一大段base64脚本(还是截图),真是调试不起来啊!

因此,这个仓库记录了我从最初迷茫到逐步掌握Java安全技术的全过程。不论是漏洞原理解析、代码调试,还是IDEA调试Tomcat的实战技巧,我都力求把每一步讲得清清楚楚,帮助同样处于起步阶段的小伙伴们避开那些坑。

欢迎师傅们指点,喜欢的朋友也别忘了点个Star,共同见证从0到1的成长旅程!

如果看完本笔记,你有不理解的地方,欢迎在issue中提问题哦~ 我会持续优化这份学习笔记。

Java基础

在基础篇内容中主要提及字节码技术(ASM、Javassist)、反射、JNDI、RMI、SPI等内容,这些知识会在反序列化链中被应用。同时也会记录一些小知识,比如IDEA中的Debug技巧、Java中的反弹shell等。

JDK下载资源

反序列化 & JNDI

在 Java 安全领域,Java 反序列化漏洞 和 JNDI 注入 是两种常见且严重的安全威胁,攻击者可以利用它们进行 远程代码执行(RCE),从而控制目标服务器。

反序列化基础

ysoserial反序列化链

这里主要以调试ysoserial中的攻击链为主,可能也会在此基础上进行改进、补充。

每篇文章都会记录依赖库版本、JDK版本、基础知识、可单个java文件运行的poc,适合小白调试反序列化。

其他反序列化攻击 & JNDI

内存马

内存马是一种无文件Webshell,简单来说就是服务器上不会存在需要链接的webshell脚本文件。 传统webshell会在目标服务器中留存具体的payload文件,但现在安全软件对于静态webshell的查杀能力已经非常的强,可能payload文件在写入的一瞬间就会被查杀,而内存马的原理就是在web组件或者应用程序中,注册一层访问路由,访问者通过这层路由,来执行我们控制器中的代码,一句话就能概括,那就是对访问路径映射及相关处理代码的动态注册。

代码审计

CVE复现

CTF篇

一直在学Java安全相关的内容,一直没地方实践,让我挖一条新的利用链又不现实,自己也不太能找到好玩的靶场,也不想准备环境。突然就想到做一些CTF题目了,好玩还能加深一下知识点的印象,下边就是一些关于Java安全的题目,主要来自于BUUCTF平台,不过我看BUU上边并没有很多Java安全的题目,还有兄弟们知道哪些oj平台有好玩的Java安全CTF题目吗。

学习路线图

学习路线图

About

零基础Java安全学习笔记

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages