fastjson 真就突出一个阴魂不散

2022-05-25 09:52:12 +08:00
 fanxasy
接集团预警通报 2022 年第 13 号:监测发现,Java 开发组件 fastjson 存在反序列化漏洞。fastjson 被众多 java 软件作为组件集成,广泛存在于 java 应用的服务端代码中。攻击者可利用上述漏洞实施任意文件写入、服务端请求伪造等攻击行为,造成服务器权限被窃取、敏感信息泄漏等严重影响。此次事件影响 fastjson 1.2.80 及之前所有版本。目前,已发布 fastjson 最新版本 1.2.83 以修复该漏洞,组件升级地址为: https://github.com/alibaba/fastjson/releases/tag/1.2.83 。请各系统建设部门及时排查梳理受影响情况,在确保安全的前提下修复漏洞、消除隐患,提高网络系统安全防护能力,严防网络攻击事件。同时,加强安全监测,做好应急处置准备,发现突出情况要迅速处置并第一时间报告数据中心。
12745 次点击
所在节点    Java
97 条回复
cp19890714
2022-05-25 12:50:26 +08:00
我不能理解 “用 spring ,又特意改为 fastjson” 这种操作。
AA5DE3F034ACCB9E
2022-05-25 12:53:45 +08:00
@cp19890714 先入为主吧,像初学者搜索问下 Java 怎么处理 Json ,推荐的基本是 fastjson ,用习惯了 api 又怎么能轻易换
moen
2022-05-25 13:13:06 +08:00
阿里继续向外输出人才后估计又有更多公司要改成 Java ,按他们的习惯用上各种阿里的库(
nothingistrue
2022-05-25 13:41:38 +08:00
@sheeta #12 Java 有官方的序列化,因为安全漏洞实在难以修复,已经确定要被抛弃,只是因为替代品还没弄好一直没有正式抛弃。至于 JSON ,它属于类似 XML 那样的跨平台数据格式,原本不是为序列化 /反序列化服务的,即无法成为 Java 内部标准,也无法让 Java 为其提供 JDK 级别的实现,这点跟 XML 一样的待遇,很正常。
Oktfolio
2022-05-25 13:41:57 +08:00
@cp19890714 基本没人改 Spring MVC 的默认 JSON 序列化库吧......
est
2022-05-25 13:50:49 +08:00
我觉得 java 不支持 json 主要是因为强类型吧。
zoumouse
2022-05-25 13:53:03 +08:00
一般的序列化库都有问题,包括 Jackson ,可以看下这个 https://github.com/GrrrDog/Java-Deserialization-Cheat-Sheet
不过貌似 Gson 没出过大问题
nine
2022-05-25 13:53:04 +08:00
Java 这么繁荣是有道理的,连个 JSON 解析库都做不好,大把的输出时间换工资啊。
AlkTTT
2022-05-25 13:54:42 +08:00
@cp19890714 组内大部分同事对阿里开源有蜜汁崇拜,fastjson ,easyexcel ,nacos 都在用,劝都劝不动
Joker123456789
2022-05-25 13:55:31 +08:00
@nine 原来在你的逻辑里, 越麻烦 就越流行啊? 真是万年一遇的天才。
NoKey
2022-05-25 13:57:51 +08:00
@Goooooos 谢谢回复,我搜了一下,也没找到 gson 性能差多少的资料,能找到的性能比较看起来那点性能差异对服务影响不大,除非是那种大量解大 json 任务的
Joker123456789
2022-05-25 13:57:52 +08:00
@cp19890714 没多少人特意改为吧? 接收参数,响应参数等 框架自带的功能 又没人动。 只是需要手工处理 json 的时候 采用 fastjson ,因为用起来方便,不需要自己写工具类。jackson 确实麻烦了一点点。 只是一点点。
96XL
2022-05-25 14:29:35 +08:00
hutool 的 json 咋样
cweijan
2022-05-25 15:42:33 +08:00
@rekulas 我还以为你是抖机灵, 没想到还真有!
nine
2022-05-25 15:45:34 +08:00
@Joker123456789
存在即合理,我是发现者,不是定义者。
xgfan
2022-05-25 16:12:36 +08:00
@Joker123456789 你这个就是 fastjson 使用者的典型例子。

很多 fastjson 的使用者不知道,jackson 的 objectMapper 早就注入到 spring context 里了。
直接用就好了,压根不存在“需要手工处理 json 的时候 采用 fastjson ,因为用起来方便,不需要自己写工具类”。
fiveStarLaoliang
2022-05-25 16:32:17 +08:00
看来学艺不精的不在少数,spring 全家桶稍微研究一下就知道 objectMapper 是现成的,直接拿来用就行了
frisktale
2022-05-25 16:55:18 +08:00
Buges
2022-05-25 17:01:40 +08:00
@sheeta 缺乏统一的标准,Java 也有注解,抄一下 serde 作业也是好的。
DrJoseph
2022-05-25 17:27:06 +08:00
记者:你有什么特长
大爷:我心算很快
记者:1+1 等于多少
大爷:5
记者:不对
大爷:但我算的快

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/855129

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX