msb6006 cmd.exe已退出代码为3_Fastjson JtaTransactionConfig远程代码执行漏洞

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

漏洞名称:Fastjson JtaTransactionConfig远程代码执行漏洞

威胁等级:高危

影响范围:fastjson<=1.2.66

漏洞类型:代码执行

利用难度:简单

漏洞分析

1 Fastjson组件介绍

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

2 漏洞描述

Fastjson远程代码执行漏洞是由于使用com.ibatis.sqlmap.engine.transaction.jta.JtaTransactionConfig类,绕过了Fastjson的黑名单而导致。当服务端加载了存在受漏洞影响的ibatis-sqlmap依赖,并且开启了Fastjson的autotype时,远程攻击者可以通过构造的攻击代码触发远程代码执行漏洞,最终可以获取到服务器的控制权限。

3 漏洞分析

以Fastjson1.2.62 + ibatis-sqlmap-2.3.4.726作为漏洞环境分析。传入构造好的payload,经过JSON类中的parse方法的解析入口,如下图:

6b91446c6ecfd47e69a1f4dff94a6925.png

在JSONObject类中进行格式解析和特殊字符检测。继续跟进处理的过程,当获取到@type传入的类名后,会通过checkAutoType方法检查@type传入的类是否在黑名单中,如果黑名单中存在此类名,直接抛出异常退出程序。如下图:

d6dc65955bcdc17bfa37bd4058350091.png

继续跟进,payload中的json格式数据会在JSONScanner类中进行字段名匹配,如果字段名匹配成功,则将对应的参数值传入,为对应属性赋值,代码如下图:

4435ff492b6f7962b88f13a09c98a7be.png

进入@type指定的com.ibatis.sqlmap.engine.transaction.jta.JtaTransactionConfig类中,通过setProperties类,为utxName变量赋值。此时utxName的值是从json数据中传入的UserTransaction参数值。

13ee5e757dd6d73ae6088692c89c0412.png

当我们在UserTransaction参数中传入恶意地址,经过lookup方法进行访问,服务器就可以远程加载恶意文件。

8ab9e244be7fef3e36a1c77aa56d8eb4.png

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

4 漏洞复现

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

3527dbe298dec4b3147b84cd05fbc689.png

影响范围

目前受影响的Fastjson版本:

Fastjson<=1.2.66

解决方案

1修复建议

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

ParserConfig.getGlobalInstance().setAutoTypeSupport(true);

2 深信服解决方案

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

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

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

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

时间轴

2020/3/3

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

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

94da05f3e85e605a695a18e80c1cc625.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值