Fastjson<=1.2.47反序列化漏洞复现

本文详细介绍了Fastjson的安全漏洞,特别是1.2.47及以下版本的反序列化漏洞,攻击者可利用autotype功能和缓存机制进行代码执行。漏洞利用包括构造特定数据包,通过LDAP服务进行重定向。修复方案为升级Fastjson到最新版本。
摘要由CSDN通过智能技术生成

0x01简介

fastjson 是阿里巴巴的开源JSON解析库,它可以解析 JSON 格式的字符串,支持将 Java Bean 序列化为 JSON 字符串,也可以从 JSON 字符串反序列化到 JavaBean。
FastJson特点如下:
(1)能够支持将java bean序列化成JSON字符串,也能够将JSON字符串反序列化成Java bean。
(2)顾名思义,FastJson操作JSON的速度是非常快的。
(3)无其他包的依赖。
(4)使用比较方便。
在这里插入图片描述

0x02漏洞介绍

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

0x03影响版本

Fastjson <= 1.2.47
0x04环境搭建
虚拟机:centos7
所需环境:jdk8
JDK8下载地址:https://pan.baidu.com/s/1nuxQJkYwkY2UOaPEIshQig 提取码:lc0i

Tomcat
Tomcat下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.36/bin/

Fastjson1.2.47
Fastjson1.2.47下载地址:链接:https://pan.baidu.com/s/1D0gDc3NGXlHQ2Yamy4zHtQ 提取码:ps2p

本地搭建Tomcat
1.安装jdk8并配置环境变量
首先在usr目录下创建一个java的目录
mkdir /usr/java
在这里插入图片描述

2.将下载好的jdk8的安装包放在usr/java目录下,使用tar解压,mv重命名
tar zxvf jdk-8u141-linux-x64.tar
mv jdk-8u141-linux-x64.tar/ jdk8 //重命名为jdk8
在这里插入图片描述

3.配置系统环境变量,使用vim编辑profile文件
vim /etc/profile 在最后一行加上一下代码

export JAVA_HOME=/usr/java/jdk8
export CLASSPATH=.: J A V A H O M E / j r e / l i b

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值