石砚 · 机制到漏洞

JavaSec 入门到利用链路线

先理解反射、类加载、序列化、RMI、JNDI 等 Java 底层机制,再进入命令执行、SSRF、Struts 与 Commons Collections 利用链。

14 篇连续阅读 从第一篇开始

终点:Java反序列化:Commons Collections 1 链深度解析

第 01 篇

Java反射机制:深入理解与实践

本文详细介绍了Java反射机制的核心概念和使用方法,涵盖了Class对象的获取、类实例的创建、方法调用及成员变量修改,并通过Runtime.exec示例演示了其在安全场景的应用。

先理解 Java 动态能力的基础。

Java反射ReflectionJava-Security
第 02 篇

Java动态代理机制详解

本文深入探讨Java动态代理的原理、核心API(Proxy和InvocationHandler)及其常见应用场景,并通过代码示例演示如何利用动态代理实现方法调用日志功能。

补充代理、InvocationHandler 与 AOP 直觉。

Java-Security动态代理反射
第 03 篇

深入理解Java类加载机制与自定义ClassLoader

本文详细解析Java虚拟机类加载机制,包括加载、链接、初始化三大步骤,介绍内置类加载器及核心方法。通过代码示例,深入探讨如何自定义ClassLoader实现类动态加载,并对比Class.forName与ClassLoader.loadClass的区别,助你掌握Java类加载的原理与应用。

理解 ClassLoader 和动态加载。

JavaJVMClassLoader
第 04 篇

Java 序列化与反序列化机制详解

深入解析Java对象的序列化与反序列化机制,包括Serializable、Externalizable接口、ObjectInputStream/ObjectOutputStream的使用方法,并揭示其内部实现原理及构造方法绕过等细节。

进入序列化与反序列化机制。

Java-SecurityJava序列化反序列化
第 05 篇

深入理解Java RMI:架构、原理与反序列化漏洞

本文详细解析Java RMI(远程方法调用)的底层架构、Stub/Skeleton通信机制及工作原理,并通过代码示例演示服务搭建与客户端调用。文末深入探讨RMI通信中的Java反序列化漏洞及其潜在风险。

看远程调用和反序列化入口。

Java-SecurityRMI反序列化漏洞
第 06 篇

JNDI:Java命名和目录接口基础

本文详细介绍了Java命名和目录接口(JNDI)的核心概念,包括命名服务、目录服务和引用,并提供了使用JNDI创建目录服务对象的Java代码示例。

理解命名目录服务与后续漏洞语境。

JNDIJava安全Java API
第 07 篇

Java本地命令执行:原理、实现与反射利用

本文详细讲解Java中本地命令执行的原理与实现,涵盖Runtime.exec、ProcessBuilder的使用,以及通过反射绕过限制的方法,并探讨Java 9+模块系统对反射的影响,是理解Java应用RCE漏洞的重要参考。

把 Runtime、ProcessBuilder 与反射联系起来。

Java-Security命令执行RCE
第 08 篇

Java URLConnection:SSRF漏洞原理与实践

本文深入探讨Java中URLConnection类的基本概念、支持协议及使用方法。重点分析URLConnection引发SSRF漏洞的机制、利用方式和有效的防御策略。

从 Java 网络访问理解 SSRF。

Java-SecuritySSRFURLConnection
第 09 篇

Java Unsafe 深度探索:绕过机制与底层类操作

本文详细介绍了Java内部API `sun.misc.Unsafe` 的获取方法,并演示了如何利用其 `allocateInstance` 和 `defineClass` 方法绕过传统机制创建对象和定义类,探讨其在安全场景中的应用。

看 Unsafe 与底层绕过思路。

Java-SecurityUnsafe反射
第 10 篇

Java JDBC 数据库连接与数据源:原理与安全实践

本文详细介绍了Java JDBC的基础概念、数据库连接原理,以及数据源DataSource的多种实现和配置方式。深入探讨了`Class.forName`机制与SPI原理,并触及了Spring数据源在授权渗透测试中的应用。

补数据库连接与数据源相关基础。

Java-SecurityJDBCDataSource
第 11 篇

深入理解Java文件系统:IO、NIO核心机制与安全应用

本文深入探讨Java文件系统的跨平台机制,从`java.io`到`java.nio.2`的实现原理。文章还介绍了不同文件操作方式及其底层JNI调用,并提及NIO在安全绕过WAF/RASP方面的应用。

理解 IO/NIO 与文件系统安全语境。

Java-Security文件系统Java IO
第 12 篇

JNI安全基础:Java与C/C++本地命令执行详解

本文详细介绍了JNI(Java Native Interface)的安全基础,通过实际案例讲解如何利用JNI实现Java与C/C++的本地命令执行,并探讨其潜在的安全风险。

接触 Java 与 Native 的边界。

Java-SecurityJNIC/C++
第 13 篇

Struts2-001 漏洞环境搭建与调试分析

本文详细介绍了 Struts2-001 漏洞的环境搭建、请求处理流程调试及漏洞利用的深入分析,帮助读者理解其原理与调试方法。

进入具体框架漏洞调试。

Java-SecurityStruts2漏洞分析
第 14 篇

Java反序列化:Commons Collections 1 链深度解析

本文深入解析Java反序列化漏洞中的Commons Collections 1(CC1)利用链,详细阐述其核心组件InvokerTransformer的工作原理及命令执行过程。

落到 Commons Collections 1 利用链。

Java-Security反序列化Commons-Collections