Fastjson≤1.2.47 RCE

该博客详细介绍了Fastjson ≤ 1.2.47版本的一个远程命令执行(RCE)漏洞。文章讨论了autotype功能如何允许攻击者通过构造特殊数据进行恶意代码执行,以及受影响的版本。博主还阐述了漏洞的危害,即可能导致远程命令执行,并提供了漏洞验证的步骤,包括环境搭建、payload生成、攻击机配置以及利用marshalsec工具开启LDAP服务进行重定向。最后,给出了漏洞修复方案,建议升级到Fastjson的最新版本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Fastjson≤1.2.47 RCE

一、漏洞介绍

fastjson 是阿里巴巴的开源JSON解析库,它可以解析 JSON 格式的字符串,支持将 Java Bean 序列化为 JSON 字符串,也可以从 JSON 字符串反序列化到 JavaBean。
首先,Fastjson提供了autotype功能,允许用户在反序列化数据中通过“@type”指定反序列化的类型,其次,Fastjson自定义的反序列化机制时会调用指定类中的setter方法及部分getter方法,那么当组件开启了autotype功能并且反序列化不可信数据时,攻击者可以构造数据,使目标应用的代码执行流程进入特定类的特定setter或者getter方法中,若指定类的指定方法中有可被恶意利用的逻辑(也就是通常所指的“Gadget”),则会造成一些严重的安全问题。并且在Fastjson 1.2.47及以下版本中,利用其缓存机制可实现对未开启autotype功能的绕过。

影响版本:
Fastjson1.2.47以及之前的版本

二、漏洞危害

远程命令执行。

三、漏洞验证

环境搭建:
实验环境 系统 IP地址
攻击机 win10 192.168.134.130
靶机 Centos7 192.168.134.133
docker pull vulhub/fastjson     #拉取镜像
docker run -d -p 8080:8080 -p 8443:8443 initidc/fastjson1.2.47_rce    #连接容器

验证一下环境是否正常:
在这里插入图片描述
在这里插入图片描述

漏洞复现
编译生成payload

首先将以下代码保存为Exploit.java(反弹shell命令在代码内,可自行调整)

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;

public class Exploit{
   
    public 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值