JAVA语言 & 反射

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反射基础知识 + 修改被private final修饰的字段

ClassLoader: BootstrapClassLoader + ExtClassLoader + AppClassLoader + 双亲委派

静态代理&动态代理: 静态代理 + Proxy动态代理

ASM: 访问者模式 + 动态操作(访问/修改)class字节码

RMI(远程方法调用): RMI基本原理 + 客户端/服务端/注册中心 攻击手法 + Bypass JEP290

JNDI(命名空间及目录服务): JNDI基本概念 + JNDI/RMI攻击手法 + JNDI/LDAP攻击手法

SPI机制: SPI基本概念 + SPI攻击

反序列化

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

Java类转字节码工具: Java类转Base64编码字符串 + Base64编码字符串转.class文件

基础知识:反序列化漏洞的起源 + JAVA反序列化 + URLDNS

CC链

CommonsCollections(CC)反序列化攻击链

CC1攻击链:AnnotationInvocationHandler + Proxy + LazyMap + Transformer

CC2攻击链:PriorityQueue + TransformingComparator + Transformer + TemplatesImpl

CC3攻击链:AnnotationInvocationHandler + Proxy + LazyMap + Transformer + TrAXFilter + TemplatesImpl

CC4攻击链:PriorityQueue + TransformingComparator + TrAXFilter + TemplatesImpl

CC5攻击链:BadAttributeValueExpException + TiedMapEntry + LazyMap + Transformer

CC6攻击链:HashSet + HashMap + TiedMapEntry + LazyMap + Transformer

CC7攻击链:HashTable + TiedMapEntry + LazyMap + Transformer

CB链

CommonsBeanUtils(CB)反序列化攻击链

CB1攻击链:PriorityQueue + BeanComparator + TemplatesImpl

内存马

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

JAVA WEB & Tomcat: Servlet + Filter + Listener + Connector(连接器) + Container(Servlet容器)

JAVA WEB环境搭建: Tomcat安装 + IDEA创建JAVA WEB项目 + IDEA开启调试Tomcat

Servlet内存马: Context概念 + Debug Servlet加载过程 + 补充内容

Listener内存马: Listener示例 + ApplicationListener Debug + Listener内存马代码

Filter内存马: Filter代码Debug + Filter内存马代码 + 运行

漏洞复现篇

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

JNDI注入

log4j2 注入/远程代码执行 漏洞 CVE-2021-44228: log4j2漏洞点分析 + 代码分析 + JNDIExploit攻击工具分析

log4j2 注入/远程代码执行-2 漏洞 WAF绕过 + 协议总结 + 信息泄露用法

相关推荐

哑的组词

哑的组词

11-02 💫 8106
OPPO R11(2017年06月上市)
华硕gtx960怎么样 华硕gtx960测评【详细介绍】
霹雳墨香官方网站

霹雳墨香官方网站

09-03 💫 5306

本文标签