首页
学习
活动
专区
工具
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序列化漏洞都是针对黑名单的绕过来实现攻击利用的。

    25610

    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(); // 配置序列化策略

    99410

    FastJson1&FastJson2反序列化利用链分析

    前言 写这篇文章的起因是在二开ysoserial的时候突然发现在Y4er师傅的ysoserial当中有两条关于FastJson的利用链,分别是FastJson1&FastJson2但是这两条利用链都不是像之前分析...fastjson利用链一样,之前的利用链分析的是fastjson在解析json格式的数据时,通过构造恶意的json数据来对fastjson进行攻击,期间会涉及到1.2.24-1.2.80等不同版本的绕过以及额外数据包的依赖...而这里的FastJson1&FastJson2是利用FasJson当中某些函数的调用关系,结合java原生反序列化来对目标应用进行攻击的一种方式。...这一部分我们也可以从下面的变量界面看到,它为TemplatesImpl类创建了一个反序列化工具类(ASMSerializer_1_TemplatesImpl)。...所以正是前面出现过的template,使得后续ois在处理反序列化字节流的时候,直接形成了绕过,引用了前面已经反序列化好的template对象,避免了由于B类型没法正常识别而造成的异常。

    17820

    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版本中

    89090

    漏洞复现 - - - 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.5K20

    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.8K80

    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提供了默认的转义字符,但也可以自定义转义字符。

    1.3K10

    实习记录(四) - 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.5K30

    浅析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参数才能实现,利用条件很苛刻,但是条件允许的话就很方便...类对象被返回后,就会进入被反序列化的下一个过程,它的构造方法等会被调用,从而完成利用。

    16.8K22
    领券