
代码审计 | FastJSON 1.2.47 不出网利用 —— BCEL 链分析 | setter 与 getter 触发对比
环境:FastJSON 1.2.47 / JDK 8u65 / Tomcat 9.0.20 / IDEA 调试 目录 前言 和 TemplatesImpl 链的区别 补充:FastJSON 的 getter/setter 扫描机制 环境准备 恶意类编写 字节码转换脚本 Payload 结构 调试跟踪 完整调用链总结 前言上一篇 Templat...

环境:FastJSON 1.2.47 / JDK 8u65 / Tomcat 9.0.20 / IDEA 调试 目录 前言 和 TemplatesImpl 链的区别 补充:FastJSON 的 getter/setter 扫描机制 环境准备 恶意类编写 字节码转换脚本 Payload 结构 调试跟踪 完整调用链总结 前言上一篇 Templat...

目录 前言 两条链的区别 TemplatesImpl 链概览 利用前提 利用步骤 Payload 构造 调试跟链 完整调用链总结 局限性 前言上一篇分析了 FastJSON 1.2.24 的 JdbcRowSetImpl 出网 RCE 链,以及 1.2.25 ~ 1.2.43 的 autoType 绕过演进。这篇来看 1.2.47 的不出网利用方式——TemplatesImpl 链。 关...

1.2.47 的缓存绕过不需要开任何开关,默认配置就能打,危害最大。 目录 环境准备 漏洞概述 Payload 结构解析 源码跟踪:一步步看绕过过程 第一阶段:处理字段 a,预热缓存 第二阶段:处理字段 b,命中缓存绕过检测 总结 环境准备版本:1.2.47 使用 Maven 管理依赖,在 pom.xml 里改一下版本号就行。 漏洞概述先看一下 Payload 的样子: 1...

个人学习记录,记录一下这三个版本的绕过思路和调试过程。这三个版本有个共同点:都需要 autoTypeSupport=true 才能利用,算是一条贯穿始终的主线。 目录 环境准备 1.2.25 —— checkAutoType 机制引入 源码变化对比 为什么要开启 autoTypeSupport 调试过程 1225 1.2.42 —— 双写绕过 Payload 变化 checkAut...

本文从环境搭建出发,一步一步分析 FastJson 反序列化 RCE 的完整利用链,并结合调试断点深入分析底层代码执行逻辑。 目录 漏洞背景 环境准备 搭建 Maven 项目 FastJson @type 机制初探(User 例子) parseObject 两种调用方式的本质区别 PoC 复现:JdbcRowSetImpl 利用链 底层代码调试分析 完整漏洞链路总结 修复建议 一、...