Java JSON 组件选型之 FastJson 为什么总有漏洞?

JSON 2020-06-10 11:35:34 63145

最近阿里巴巴的FastJSON 又被曝出漏洞。引用一下降维安全实验室的原述文字:

< p > 据降维安全实验室(http://johnwick.io)报道,Fastjson version 1.2.68 全版本存在反序列化漏洞,利用该漏洞,黑客可远程在服务器上执行任意代码直接获取服务器权限。

近日,阿里云应急响应中心监测到fastjson爆发新的反序列化远程代码执行漏洞,黑客利用漏洞,可绕过autoType限制,直接远程执行任意命令攻击服务器,风险极大。


此漏洞异常危险,降维安全实验室建议使用了该java库的相关交易所及企业及时将Fastjson升级至1.2.68版本、打开SafeMode、并持续关注fastjson官网等待1.2.69版本的更新并立即升级以防止被攻击。更多详细细节和缓解措施请联系降维安全实验室。

大白话叙述下漏洞

可能对这个漏洞看不懂,这个漏洞其实就是  XSS  ,比如提交的内容有  XSS  内容,而您反序列化对象的时候,用了  Fastjson  ,那就会出现直接执行  XSS  命令,利用相关命令可以把您服务器对应的文件列表,对应的文件内容,都可以读取出来。

XML Dom4j 也有这个问题。比如用 !ENTITY 、SYSTEMFILE: 等关键词,就可以读取出来您服务器的内容。本站也中招过。


漏洞到底是个怎产生的

1. 漏洞描述

fastjson采用黑白名单的方法来防御反序列化漏洞,导致当黑客不断发掘新的反序列化Gadgets类时,在autoType关闭的情况下仍然可能可以绕过黑白名单防御机制,造成远程命令执行漏洞。经研究,该漏洞利用门槛较低,可绕过autoType限制,风险影响较大。阿里云应急响应中心提醒fastjson用户尽快采取安全措施阻止漏洞攻击。

2. 影响版本

  • fastjson <=1.2.68
  • fastjson sec版本 <= sec9
  • android版本不受此漏洞影响

3. 升级方案

升级到最新版本1.2.69或者更新的1.2.70版本。

如果遇到兼容问题,原地升级sec10版本。

如果还遇到其他兼容问题,这里有更多的sec10版本 https://repo1.maven.org/maven2/com/alibaba/fastjson/

4. safeMode加固

fastjson在1.2.68及之后的版本中引入了safeMode,配置safeMode后,无论白名单和黑名单,都不支持autoType,可一定程度上缓解反序列化Gadgets类变种攻击(关闭autoType注意评估对业务的影响)

4.1 开启方法

参考 https://github.com/alibaba/fastjson/wiki/fastjson_safemode

4.2 使用1.2.69之后的版本是否需要使用safeMode

1.2.69修复了此次发现的高危漏洞,开启safeMode是完全关闭autoType功能,避免类似问题再次发生,这可能会有兼容问题,大家打开时需要做充分测试

以上内容来自阿里巴巴 GitHub说明:https://github.com/alibaba/fastjson/wiki/security_update_20200601 

怎么预防漏洞被利用

1.首先用到 1.2.68 版本的,先升级。

    另外我还是建议使用  Gson  或者使用  Jackson  ,优先推荐  Jackson  ,毕竟一直陪跑  Spring  系列,安全上还是有保证一点。毕竟我们追求快(都说fastjson快,其实我没觉得)的时候,最主要的就是安全。

2.安全意识问题。

    首先项目启动用非root用户,权限收缩到最小,即使出现漏洞问题,造成的影响也不会太大。


版权所属:SO JSON在线解析

原文地址:https://www.sojson.com/blog/374.html

转载时必须以链接形式注明原始出处及本声明。

本文主题:

如果本文对你有帮助,那么请你赞助我,让我更有激情的写下去,帮助更多的人。

关于作者
一个低调而闷骚的男人。
最新文章
Flink 在又拍云日志批处理中的实践 2865
个推异常值检测和实战应用-又拍云 369
TCP 和 UDP协议详细讲解,优缺点分析讲解 5455
URL中乱七八糟的字符讲解,来源以及如何解决 3452
HTTP/3 来了,您真的了解它么? 4732
技术选型:为什么批处理我们却选择了Flink 1623
这些表情包你有吗?一起来 Battle 啊 2060
当我谈 HTTP 时,我谈些什么? 10658
新浪短链(t.cn)最新申请官方API的方法讲解。 63896
QUIC / HTTP3 协议详细分析讲解 8004
最热文章
苹果电脑Mac怎么恢复出厂系统?苹果系统怎么重装系统? 635244
最新MyEclipse8.5注册码,有效期到2020年 (已经更新) 586248
我为什么要选择RabbitMQ ,RabbitMQ简介,各种MQ选型对比 488563
免费天气API,全国天气 JSON API接口,可以获取五天的天气预报 467204
Jackson 时间格式化,时间注解 @JsonFormat 用法、时差问题说明 433749
Elasticsearch教程(四) elasticsearch head 插件安装和使用 386029
Java 信任所有SSL证书,HTTPS请求抛错,忽略证书请求完美解决 202203
谈谈斐讯路由器劫持,你用斐讯路由器,你需要知道的事情 194919
免费天气API,天气JSON API,不限次数获取十五天的天气预报 189232
Elasticsearch教程(一),全程直播(小白级别) 175671
支付扫码

所有赞助/开支都讲公开明细,用于网站维护:赞助名单查看

查看我的收藏

正在加载... ...