fastjson反序列化漏洞原理(fastjson enum 枚举 反序列化)

2025-03-07 23:40:03 0

fastjson反序列化漏洞原理(fastjson enum 枚举 反序列化)

本文目录

fastjson enum 枚举 反序列化

  看fastjson源码,SerializeWriter

 public void writeEnum(Enum《?》 value, char c) {  if (value == null) {  writeNull();  write(’,’);  return;  }  if (isEnabled(SerializerFeature.WriteEnumUsingToString)) {  if (isEnabled(SerializerFeature.UseSingleQuotes)) {  write(’\’’);  write(value.name());  write(’\’’);  write(c);  } else {  write(’\“’);  write(value.name());  write(’\“’);  write(c);  }  return;  }  writeIntAndChar(value.ordinal(), c);  }

  可以看出SerializeWriter在初始化的时候,features不要设置SerializerFeature.WriteEnumUsingToString

  因为JSON.DEFAULT_PARSER_FEATURE是enable了SerializerFeature.WriteEnumUsingToString,也就是说是读枚举的value值而不是int值

public static int    DEFAULT_GENERATE_FEATURE;  static {  int features = 0;  features |= com.alibaba.fastjson.serializer.SerializerFeature.QuoteFieldNames.getMask();  features |= com.alibaba.fastjson.serializer.SerializerFeature.SkipTransientField.getMask();  features |= com.alibaba.fastjson.serializer.SerializerFeature.WriteEnumUsingToString.getMask();  features |= com.alibaba.fastjson.serializer.SerializerFeature.SortField.getMask();  // features |=  // com.alibaba.fastjson.serializer.SerializerFeature.WriteSlashAsSpecial.getMask();  DEFAULT_GENERATE_FEATURE = features;  }

  

所以,解决你这个问题的方法就是

之前调用下

JSONSerializer.config(SerializerFeature.WriteEnumUsingToString,false);

即可

fastjson在反序列化时,怎么解析对象中的继承

因为你在main方法中,用的是setA,在序列化前,Text类中的a的实际类型为B,为实例b。但是当反序列化时,它是根据属性名进行的,而此时属性名为 “a”,所以它被反序列化了为类型A。自然,属于子类B的部分就丢失了。如果你想保留子类的部分,那么可以把属性 a 的类型改为 类型 B,相应的set、get方法也改下,就可以了。

java fastjson 序列化、反序列化

不行就分步反序列化1.得到各个JSON Object的反序列化,包括mods_description要定义为String.2.讲mods_description这个JSON Array再反序列化。注意这个是json array,要用List.

fastjson反序列化时如果实例有多个引用时有Bug

发现了一种解决问题方法就是,把TestB.setB2b(Map《Integer, TestC》 b2b)改成 TestB. setB2b(Map b2b)就行.TestB.setB2b(Map《Integer, TestC》 b2b)是eclipse自动生成的getter,setter

Java反序列化安全漏洞怎么回事

反序列化顾名思义就是用二进制的形式来生成文件,由于common-collections.jar几乎在所有项目里都会被用到,所以当这个漏洞被发现并在这个jar包内实现攻击时,几乎影响了一大批的项目,weblogic的中枪立刻提升了这个漏洞的等级(对weblogic不熟悉的可以百度)。至于如何使用这个漏洞对系统发起攻击,举一个简单的例子,我通过本地java程序将一个带有后门漏洞的jsp(一般来说这个jsp里的代码会是文件上传和网页版的SHELL)序列化,将序列化后的二进制流发送给有这个漏洞的服务器,服务器会自动根据流反序列化的结果生成文件,然后就可以大摇大摆的直接访问这个生成的JSP文件把服务器当后花园了。如果Java应用对用户输入,即不可信数据做了反序列化处理,那么攻击者可以通过构造恶意输入,让反序列化产生非预期的对象,非预期的对象在产生过程中就有可能带来任意代码执行。所以这个问题的根源在于类ObjectInputStream在反序列化时,没有对生成的对象的类型做限制;假若反序列化可以设置Java类型的白名单,那么问题的影响就小了很多。

反序列化漏洞是因为java的原因吗

:java反序列化漏洞是一类被广泛应用的漏洞,绝大多数的编程语言都会提供内建方法使用户可以将自身应用所产生的数据存入硬盘或通过网络传输出去。这种将应用数据转化为其他格式的过程称之为序列化,而将读取序列化数据的过程称之为反序列化。

fastjson反序列化漏洞原理(fastjson enum 枚举 反序列化)

本文编辑:admin

更多文章:


ros系统和linux的区别(windows linuxandrod三种操作系统有什么区别和联系)

ros系统和linux的区别(windows linuxandrod三种操作系统有什么区别和联系)

本文目录windows linuxandrod三种操作系统有什么区别和联系ros是什么意思ucos和linux的区别和联系是什么ROS是什么windows linuxandrod三种操作系统有什么区别和联系我们平时所用的WINDOWS和MS

2025年3月19日 16:40

哪个加密软件最好用?加密软件哪个好

哪个加密软件最好用?加密软件哪个好

本文目录哪个加密软件最好用加密软件哪个好加密软件有哪几种可以选择什么文件加密软件最好用、最安全可靠呢什么加密软件好用有什么好用的加密软件加密软件哪个好用哪个加密软件最好用最好用的加密软件其实就是winrar相信你电脑的系统中已经安装有该压缩

2025年3月27日 07:50

sqlserver是什么意思啊(SQL server是什么意思)

sqlserver是什么意思啊(SQL server是什么意思)

本文目录SQL server是什么意思SQLServer的读法什么意思SQL server是什么意思这是数据库,用来建服务器用的。如果你的系统是windows2003或者是windows2000或者是windows2008可能会装完系统后就

2025年3月4日 09:50

candle in the wind(美国葬礼上唱的歌曲的名字)

candle in the wind(美国葬礼上唱的歌曲的名字)

本文目录美国葬礼上唱的歌曲的名字Candle in the Wind 歌词艾尔顿 约翰的《风中之烛》歌词谁有,英汉都要美国葬礼上唱的歌曲的名字歌手:Elton John Candle In The Wind (Goodbye England

2025年4月1日 23:00

linux内核设计与实现(现在有些互联网公司并不是很好,什么样的程序员才能算“大牛”)

linux内核设计与实现(现在有些互联网公司并不是很好,什么样的程序员才能算“大牛”)

本文目录现在有些互联网公司并不是很好,什么样的程序员才能算“大牛”Linux内核设计与实现的内容简介Linux内核设计与实现的目录linux内核设计与实现 怎样Linux内核设计与实现的媒体推荐现在有些互联网公司并不是很好,什么样的程序员才

2025年3月13日 23:00

sir模型代码(数学建模,在sir模型中,假设疾病不可治愈,为病人日死亡率,请确定死亡人)

sir模型代码(数学建模,在sir模型中,假设疾病不可治愈,为病人日死亡率,请确定死亡人)

本文目录数学建模,在sir模型中,假设疾病不可治愈,为病人日死亡率,请确定死亡人SIR模型相轨线如何画matlab代码SIR模型matlab程序ill参数的数目不足数学建模sir模型 matlab程序的注释跪求有关SIR的matlab建模的

2025年2月16日 06:00

在线客服系统 源码(在线客服系统源码)

在线客服系统 源码(在线客服系统源码)

本文目录在线客服系统源码请问怎么在网页里面加入在线客服系统的代码,代码要怎么获得在线客服系统源码PowerTalkBox,现在我们公司就用这个,用ASP.NET实现的,源码开放,方便第二次开放,支持单聊,多聊,群聊。你想看看效果可以去源码那

2025年3月24日 13:50

app源码下载网站(源码在哪里下载,怎么用)

app源码下载网站(源码在哪里下载,怎么用)

本文目录源码在哪里下载,怎么用APP开发有跟网站一样有源代码吗哪些网站可以下载开源的代码文件hash值自动批量修改软件[源码],这个软件怎么弄源码在哪里下载,怎么用这里所谓的源码应该就是源代码,当然上升到代码层次其实也就是聊编程语言与应用,

2025年4月5日 05:40

数据恢复精灵注册码(求数据恢复精灵一个可以用的激活码!!!)

数据恢复精灵注册码(求数据恢复精灵一个可以用的激活码!!!)

本文目录求数据恢复精灵一个可以用的激活码!!!数据恢复精灵EassosRecovery 3.7.0绿色注册版.这个解压密码是什么啊我需要一个数据恢复精灵的注册码数据恢复精灵注册码 谁能提供个,万分感谢~!刚才提问过,但是注册,没办法私信好心

2025年3月31日 13:50

assemble加y(assemble是动词,在assemble line-装配线 中怎么理解词性呢也没变成非谓语动词,怎么作了形容词呢)

assemble加y(assemble是动词,在assemble line-装配线 中怎么理解词性呢也没变成非谓语动词,怎么作了形容词呢)

本文目录assemble是动词,在assemble line-装配线 中怎么理解词性呢也没变成非谓语动词,怎么作了形容词呢accumulate、gather、assemble、collect的区别越详细越好!assemble是动词,在ass

2025年3月31日 22:50

borderlands 2好玩吗(个人感觉无主之地2没有1好玩,有人赞同吗)

borderlands 2好玩吗(个人感觉无主之地2没有1好玩,有人赞同吗)

本文目录个人感觉无主之地2没有1好玩,有人赞同吗无主之地2玩着玩着就自己退出来了,怎么办个人感觉无主之地2没有1好玩,有人赞同吗画面上说2比1好上不少,当然配置要求也高些。枪械上2比1多了无数种,刷枪乐趣依旧。剧情上1代的剧情可以当做不存在

2025年2月15日 13:10

zencart中文网(zencart 如何添加网站简介,就是在首页添加一小段带有连接的简短文字)

zencart中文网(zencart 如何添加网站简介,就是在首页添加一小段带有连接的简短文字)

本文目录zencart 如何添加网站简介,就是在首页添加一小段带有连接的简短文字我是zencart的网站,开始发现首页被人劫持了 打开网站自动跳转到别的网站zencart 网站怎么上传文档我用的zencart网站,为什么除首页外全站都返回4

2025年4月4日 01:20

entercriticalsection(Mfc获取函数地址..T T 要求: 用DWORD 变量获取RtlEnterCriticalSection函数地址并将)

entercriticalsection(Mfc获取函数地址..T T 要求: 用DWORD 变量获取RtlEnterCriticalSection函数地址并将)

本文目录Mfc获取函数地址..T T 要求: 用DWORD 变量获取RtlEnterCriticalSection函数地址并将MFC 线程 EnterCritinalSection问题Mfc获取函数地址..T T 要求: 用DWORD 变量

2025年2月12日 04:00

merits是什么意思(merit和advantage有何区别)

merits是什么意思(merit和advantage有何区别)

本文目录merit和advantage有何区别make merit是什么意思merit和advantage有何区别1、含义不同merit用作名词时,是“优点、功绩、价值”的意思,用作动词时,是“值得、应得”的意思。advantage用作名词

2025年3月12日 21:50

collapse翻译(倒下的英语翻译 倒下用英语怎么说)

collapse翻译(倒下的英语翻译 倒下用英语怎么说)

本文目录倒下的英语翻译 倒下用英语怎么说瓦解的英语翻译 瓦解用英语怎么说“不堪一击”用英语怎么说倒塌的英语翻译 倒塌用英语怎么说倒下的英语翻译 倒下用英语怎么说倒下_有道词典倒下fall;collapse;fall down;fell do

2025年2月18日 09:40

reader阅读器(极光 pdf reader是什么软件)

reader阅读器(极光 pdf reader是什么软件)

本文目录极光 pdf reader是什么软件如何安装Adobe Reader 阅读器Win8系统怎么打开Windows Reader阅读器Adobe Reader有什么用啊掌阅ireader阅读器怎么设置横屏Adobe Reader(PDF

2025年3月7日 12:00

学平面设计后悔死了(学平面设计有前途吗)

学平面设计后悔死了(学平面设计有前途吗)

本文目录学平面设计有前途吗想学习平面设计,但又不知道未来前景怎么样!能给点建议吗学平面设计有前途吗平面设计的用途:标商(LOGO)、杂志,报纸和书籍、广告设计,海报,广告牌,网站图形元素、标志和产品包装……我们的生活中无处不存在平面设计的内

2025年2月23日 16:40

随机字符串数php(php:如何生成随机的唯一字母数字字符串)

随机字符串数php(php:如何生成随机的唯一字母数字字符串)

本文目录php:如何生成随机的唯一字母数字字符串thinkphp怎么随机生成字符串php怎样生成一个32位的随机字符串php怎么生成6位随机数,php随机数例子求一个生成四位随机数的PHP代码php如何随机显示指定字符串php如何生成随机字

2025年2月15日 17:40

issued什么意思中文(查询美国签证状态显示issued是什么意思)

issued什么意思中文(查询美国签证状态显示issued是什么意思)

本文目录查询美国签证状态显示issued是什么意思issued 在产地证上什么意思美国签证issued是什么意思英语issued_time怎么翻译ISSUED中文是什么意思查询美国签证状态显示issued是什么意思美国签证状态查询issue

2025年2月27日 04:40

传奇版本库网站dede模板(dede网站模板百度收录怎么自适应m端)

传奇版本库网站dede模板(dede网站模板百度收录怎么自适应m端)

本文目录dede网站模板百度收录怎么自适应m端怎么把一个网站的框架模板模仿出来,然后用dede来做网站dede网站模板百度收录怎么自适应m端在pc模板设置根据设备跳转。内容页跳转代码如下:(具体要根据你的路径)建议你下载套官方模板,复制修改

2025年2月25日 20:10

近期文章

本站热文

harbor,port,pier的区别?谁能解释“harbour“(港口)与“pier“(码头)的区别
2025-02-22 17:40:03 浏览:18
ibatis foreach(ibatis 批量update操作)
2025-02-10 23:40:06 浏览:7
endless rain(endless rain表达什么情感)
2025-02-14 06:00:02 浏览:6
标签列表

热门搜索