JAVA安全-学习路线指南(持续更新)

环境准备

在调试代码的过程中,因为漏洞触发的版本可能均不相同,所以可能会用到不同版本的JDK,我记录一下我调试过程中所有的JDK,同时这里记录一下不同版本JDK的下载地址

  • JDK7u80
  • JDK8u66、8u71、8u73、8u121、8u231、8u431

Oracle官方JDK8下载
华为JDK镜像站
编程宝库JDK下载地址
InJDK下载地址/镜像源导航

JAVA语言 & 反射

Java 的 ASM、Javassist 和反射是安全研究的重要方向之一,主要集中在字节码操作和运行时行为分析上。ASM 和 Javassist 允许研究者直接操作字节码,进行漏洞利用链(Gadget Chain)的生成、恶意代码注入,以及对反序列化、动态代理等机制的深入分析;反射则是许多漏洞的核心,例如通过访问控制绕过、内存马注入或动态方法调用实现攻击。它们共同为研究 Java 平台的动态特性和潜在安全风险提供了技术支撑,是理解漏洞机制、开发利用工具和分析攻击链的基础。

反序列化

JAVA反序列化安全学习笔记,下边的调试代码都是基于ysoserial中的代码来记录的。嗯~网上有很多魔改代码,但是如果想要标准系统化的学习的话还是要基于ysoserial这个反序列化漏洞的起源项目来学习。

CC链

CommonsCollections(CC)反序列化攻击链

CB链

CommonsBeanUtils(CB)反序列化攻击链

内存马

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

漏洞复现篇

准备把自己分析漏洞的过程都记录下来,然后分类(就按攻击手法来分类了,不按组件来分类了,感觉按照攻击手法来分类更容易学习),到时候回来想看的话也非常好找

JNDI注入

posted @ 2024-11-20 15:47  Erosion2020  阅读(1482)  评论(0)    收藏  举报