Sec Hotspot 首页  排行榜  收藏本站  技术博客  RSS
统计信息
已收录文章数量:9559 篇
已收录公众号数量:89 个
本站文章为爬虫采集,如有侵权请告知
已收录微信公众号
网信中国 区块链大本营 白说区块链 区块链投资家 区块链官微 区块链铅笔Blockchain HACK学习呀 二道情报贩子 合天智汇 小白帽学习之路 小米安全中心 弥天安全实验室 SAINTSEC SecPulse安全脉搏 TideSec安全团队 360安全卫士 游侠安全网 计算机与网络安全 安全祖师爷 安全学习那些事 腾讯安全联合实验室 黑客技术与网络安全 安全圈 腾讯御见威胁情报中心 Python开发者 Python之禅 编程派 Python那些事 Python程序员 安全威胁情报 吾爱破解论坛 行长叠报 安在 i春秋 嘶吼专业版 E安全 MottoIN 网信防务 网安杂谈 数说安全 互联网安全内参 漏洞战争 安全分析与研究 邑安全 ChaMd5安全团队 天融信阿尔法实验室 安全牛 SecWiki 安全学术圈 信安之路 漏洞感知 浅黑科技 Secquan圈子社区 奇安信集团 奇安信 CERT 国舜股份 雷神众测 盘古实验室 美团安全应急响应中心 瓜子安全应急响应中心 顺丰安全应急响应中心 蚂蚁金服安全响应中心 携程安全应急响应中心 滴滴安全应急响应中心 字节跳动安全中心 百度安全应急响应中心 腾讯安全应急响应中心 网易安全应急响应中心 OPPO安全应急响应中心 京东安全应急响应中心 Bypass CNNVD安全动态 安恒应急响应中心 天融信每日安全简报 奇安信威胁情报中心 看雪学院 黑白之道 水滴安全实验室 安全客 木星安全实验室 云鼎实验室 绿盟科技安全预警 白帽汇 深信服千里目安全实验室 腾讯玄武实验室 长亭安全课堂 FreeBuf 绿盟科技 nmask
Fastjson caucho-quercus远程代码执行漏洞
本文来自公众号:深信服千里目安全实验室   2020.03.21 23:25:10

Fastjson是一个Java语言编写的高性能功能完善的JSON库。 Fastjson 存在远程代码执行漏洞 远程攻击者可以通过构造的攻击代码触发远程代码执行漏洞,最终可以获取到服务器的控制权限。





漏洞名称 :Fastjson caucho-quercus远程代码执行漏洞

威胁等级 :高危

影响范围 :Fastjson<1.2.67

漏洞类型 :代码执行

利用难度 :简单






漏洞分析


1 Fastjson组件介绍

Fastjson是一个Java语言编写的高性能功能完善的JSON库。它采用一种“假定有序快速匹配”的算法,把JSON Parse的性能提升到极致,是目前Java语言中最快的JSON库。Fastjson接口简单易用,已经被广泛使用在缓存序列化、协议交互、Web输出、Android客户端等多种应用场景。


2 漏洞描述

Fastjson远程代码执行漏洞是由于使用com.caucho.config.types.ResourceRef类,绕过了Fastjson1.2.66及以前版本的黑名单而导致。当服务端加载了存在受漏洞影响的resin依赖,并且开启了Fastjson的autotype时,远程攻击者可以通过构造的攻击代码触发远程代码执行漏洞,最终可以获取到服务器的控制权限。


3 漏洞分析

以Fastjson1.2.66 + resin-4.0.63.jar作为漏洞环境分析。传入构造好的payload,经过JSON类中的parse方法的解析入口。

在DefaultJSONParser类中进行格式解析,利用特殊符号作为标志符进行数据提取。

当获取到@type传入的类名后,会通过checkAutoType方法检查@type传入的类是否在黑名单中。

传入的类会经过hash转换,生成hash值

生成的hash值会与Fastjson设置的黑名单中的hash进行对比,如果匹配成功,直接抛出异常退出程序。

通过checkAutoType检查之后,会在getClassLoader()方法中获取本地类库资源,并从中加载目标类所在的类库。

继续跟进代码,通过调用TypeUtils.loadClass()方法为clazz赋值,最终返回clazz。

进入map.put()方法,经过反序列化获取传入的类中属性和方法,通过JavaBean,直接为属性赋值。

最终在getValue()方法中调用Jndi.lookup()方法,在lookup()方法中会实例化InitialContext,并调用lookup()方法进行寻址,加载传入的链接上的恶意文件,在服务器上执行文件中的命令。

至此漏洞利用过程基本完成。


4 漏洞复现

搭建Fastjson1.2.66 + resin-4.0.63.jar漏洞环境,传入精心构造的json数据,让目标服务器加载远程主机上的恶意文件,从而在目标主机上执行任意代码。效果如图:


影响范围


目前受影响的Fastjson版本:

Fastjson<1.2.67

解决方案


1 修复建议

1.Alibaba发布的最新版本 F astjson1.2.67已经防御此漏洞,请受漏洞影响的用户下载最新版本。

下载链接:https://github.com/alibaba/fastjson


2.Fastjson默认关闭autotype,如果项目中不需要该功能,可以删除以下代码:

ParserConfig.getGlobalInstance().setAutoTypeSupport(true);


2 深信服解决方案

深信服下一代防火墙 】可轻松防御此漏洞, 建议部署深信服下一代防火墙的用户更新至最新的安全防护规则,可轻松抵御此高危风险。


深信服云盾 】已第一时间从云端自动更新防护规则,云盾用户无需操作,即可轻松、快速防御此高危风险。


深信服安全感知平台 】可检测利用该漏洞的攻击,实时告警,并可联动【深信服下一代防火墙等产品】实现对攻击者ip的封堵。


深信服安全运营服务 】深信服云端安全专家提供7*24小时持续的安全运营服务。在漏洞爆发之初,云端安全专家即对客户的网络环境进行漏洞扫描,保障第一时间检查客户的主机是否存在此漏洞。对存在漏洞的用户,检查并更新了客户防护设备的策略,确保客户防护设备可以防御此漏洞风险。


时间轴



2020/3/18



Fastxml Jackson-databind发布的补丁中新增一个黑名单类。

2020/3/21



深信服千里目安全研究人员成功复现漏洞,发布漏洞分析文章。




推荐阅读:

1. Fastjson AnterosDBCPConfig远程代码执行漏洞

2.通达OA漏洞释放勒索病毒,用户数据遭到加密

3.G-Bot僵尸网络与Apocalypse RAT远控木马分析报告

4.【更新】Weblogic远程代码执行漏洞CVE-2020-2551



点击 阅读原文 ,及时关注深信服智安全Wiki平台查询漏洞的产品解决方案(需登录)~