从2025系统安全防护赛JDBCParty学习高版本JDK和高版本Tomcat打JNDI到RCE

之前有师傅在群里发了如何反序列化触发到JNDI 这里重新学习整理一下整个流程 考点:高版本JDK反序列化+高版本JNDI打法 JDK17+反射限制绕过 参考:https://pankas.top/2023/12/05/jdk17-%E5%8F%8D%E5%B0%84%E9%99%90%E5%88%B6%E7%BB%95%E8%BF%87/ ...

二月 3, 2025 · 5 分钟 · 2331 字 · J1rrY

羊城杯 2020 a_piece_of_java

考点:JDBC反序列化打CC链+动态代理类触发readobject 一眼看过去 好像只有一个mysql-connector-java 可以利用jdbc 可能的攻击路径就有1) Mysql服务器任意文件读取 2) JDBC反序列化打依赖链 出现了一个==不常见的依赖库== serialkiller 做了反序列化的过滤器 可以尝试查看其源码 https://github.com/ikkisoft/SerialKiller/blob/master/pom.xml 会发现其隐形依赖了 commons-collections3.2也就是常见的CC 3.x 一种可能的路径就是 JDBC反序列化打CC依赖链 不排除Mysql的任意文件读取 ...

九月 3, 2024 · 2 分钟 · 904 字 · J1rrY

Java安全 反序列化(5) CC6链原理分析

Java安全 反序列化(5) CC6链原理分析 CC6学习的目的在于其可以无视jdk版本,这条链子更像CC1-LazyMap和URLDNS链子的缝合版 [TOC] 前言 上篇文章我们通过LazyMap.get()方法实现ChainerTransformer的链式调用 ...

一月 15, 2024 · 4 分钟 · 1546 字 · J1rrY

Java安全 反序列化(4) CC1链-LazyMap版

Java安全 反序列化(4) CC1链-LazyMap版 实验环境:存在漏洞的版本 commons-collections3.1-3.2.1 jdk 8u71之后已修复不可利⽤ [TOC] 接着上一篇文章我们通过ChainedTransFormer实现任意命令执行 ...

一月 14, 2024 · 3 分钟 · 1435 字 · J1rrY

Java安全 反序列化(2) 链的命令执行原理分析

Java安全 反序列化(2) 链的命令执行原理分析 CC链的命令执行原理的前置学习便于快速学习CC链 环境要求 存在漏洞的版本 commons-collections3.1-3.2.1 JDK 8u71之后已修复不可利⽤ [TOC] Transformer实现任意命令执行 import org.apache.commons.collections.Transformer; import org.apache.commons.collections.functors.ChainedTransformer; import org.apache.commons.collections.functors.ConstantTransformer; import org.apache.commons.collections.functors.InvokerTransformer; public class Transformer_exec { public static void main(String[] args) { Transformer[] transformers = new Transformer[]{ new ConstantTransformer(Runtime.getRuntime()), new InvokerTransformer("exec",new Class[] {String.class},new Object[] {"calc"})}; Transformer transformer= new ChainedTransformer(transformers); transformer.transform(123); } } ...

一月 13, 2024 · 2 分钟 · 775 字 · J1rrY

Java安全 反序列化(1) URLDNS链原理分析

Java安全 反序列化(1) URLDNS链原理分析 开始学习Java反序列化链–URLDNS 前置知识 请提前了解Java序列化和反序列化,熟悉Java反射机制 ...

一月 12, 2024 · 3 分钟 · 1397 字 · J1rrY

Java安全 反序列化(3) CC1链-TransformedMap版

Java安全 反序列化(3) CC1链-TransformedMap版 本文尝试从CC1的挖掘思路出发,理解CC1的实现原理 [TOC] Commons:Apache Commons是Apache软件基金会的项目,Commons的目的是提供可重用的解决各种实际问题的Java开源代码。 ...

一月 12, 2024 · 9 分钟 · 4296 字 · J1rrY

Java安全基础 关键概念汇总

Java安全基础 关键概念汇总 前置知识 了解Java基本面向对象语法以及反射 1.构造器this以及包的使用 假设在Person类中 this.name=name this指代Person类的对象等价于Person.name=name ...

一月 9, 2024 · 9 分钟 · 4256 字 · J1rrY