前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >FastJson 1.1.26升级到1.2.58后出现的问题及解决方法

FastJson 1.1.26升级到1.2.58后出现的问题及解决方法

原创
作者头像
shaun
修改2020-10-27 10:33:06
8990
修改2020-10-27 10:33:06
举报
文章被收录于专栏:Linux服务器的日常

astjson曝出代码执行漏洞,恶意用户可利用此漏洞进行远程代码执行,入侵服务器,漏洞评级为“高危”。

风险:高风险 方式:黑客通过利用漏洞可以实现远程代码执行 影响:1.2.24及之前版本 安全版本:>=1.2.28

集团强制要求更新jar包版本,然后各个系统出现各种错误

参考:https://www.cnblogs.com/shoren/p/fastjson.html

参考:https://www.v2ex.com/t/348227

参考:https://blog.csdn.net/weixin_34049948/article/details/85203048

参考:https://blog.csdn.net/heidou_2016/article/details/89210436

以上都看了一下

因为自身项目特殊性,controller层和service层这两层分别部署在不同的服务器,所以问题和上面都不一样

但是看出来了,是有关序列化和反序列化的问题,因为无论service层还是controller层都没有问题,本地开发环境也没有问题,只有到了两台测试服务器(controller,services分层),就发现service层返回的结果list<Map(String,Object)>正确,但是controller却取不到,

list 集合因为没有实现序列化接口,高版本fastJson 反序列化(无论JSON.parseObjet还是JSON.parseArray)都不行,所以不同服务器调用有问题,

目前个人最快的解决方法:原来的list<Map(String,Object)> 类型 直接改成 String 类型,然后返回给前台

因为接口太多,现在能想到的无论哪种改法都是大工作量。

其他人的方法:

1。new一个arrayList去接一下用的jsonObjec转换t的Map对,这样跨服务器就没问题,但是点改动太多象

2。重写一个jsonObject类,实现或者继承alibaba的jsonObject类,系统里所有调用的地方import都改为重写的类

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • astjson曝出代码执行漏洞,恶意用户可利用此漏洞进行远程代码执行,入侵服务器,漏洞评级为“高危”。
  • 风险:高风险 方式:黑客通过利用漏洞可以实现远程代码执行 影响:1.2.24及之前版本 安全版本:>=1.2.28
  • 集团强制要求更新jar包版本,然后各个系统出现各种错误
  • 参考:https://www.cnblogs.com/shoren/p/fastjson.html
  • 参考:https://www.v2ex.com/t/348227
  • 参考:https://blog.csdn.net/weixin_34049948/article/details/85203048
  • 参考:https://blog.csdn.net/heidou_2016/article/details/89210436
  • 以上都看了一下
  • 因为自身项目特殊性,controller层和service层这两层分别部署在不同的服务器,所以问题和上面都不一样
  • 但是看出来了,是有关序列化和反序列化的问题,因为无论service层还是controller层都没有问题,本地开发环境也没有问题,只有到了两台测试服务器(controller,services分层),就发现service层返回的结果list<Map(String,Object)>正确,但是controller却取不到,
  • list 集合因为没有实现序列化接口,高版本fastJson 反序列化(无论JSON.parseObjet还是JSON.parseArray)都不行,所以不同服务器调用有问题,
  • 目前个人最快的解决方法:原来的list<Map(String,Object)> 类型 直接改成 String 类型,然后返回给前台
  • 因为接口太多,现在能想到的无论哪种改法都是大工作量。
  • 其他人的方法:
  • 1。new一个arrayList去接一下用的jsonObjec转换t的Map对,这样跨服务器就没问题,但是点改动太多象
  • 2。重写一个jsonObject类,实现或者继承alibaba的jsonObject类,系统里所有调用的地方import都改为重写的类
相关产品与服务
测试服务
测试服务 WeTest 包括标准兼容测试、专家兼容测试、手游安全测试、远程调试等多款产品,服务于海量腾讯精品游戏,涵盖兼容测试、压力测试、性能测试、安全测试、远程调试等多个方向,立体化安全防护体系,保卫您的信息安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档