Apache Commons Collections... CNVD-2015-07747

- AV AC AU C I A
发布: 2025-04-13
修订: 2025-04-13

### Apache Commons Collections背景介绍 Apache Commons Collections 是一个扩展了Java标准库里的Collection结构的第三方基础库,它提供了很多强有力的数据结构类型并且实现了各种集合工具类。作为Apache开源项目的重要组件,Commons Collections被广泛应用于各种Java应用的开发。 ### Apache Commons Collections漏洞原理 Map类是存储键值对的数据结构,Apache Commons Collections中实现了类TransformedMap,用来对Map进行某种变换,只要调用decorate()函数,传入key和value的变换函数Transformer,即可从任意Map对象生成相应的TransformedMap,decorate()函数如下: ```java public static Map decorate(Map map, Transformer keyTransformer, Transformer valueTransformer) { return new TransformedMap(map, keyTransformer, valueTransformer); } ``` Transformer是一个接口,其中定义的transform()函数用来将一个对象转换成另一个对象。如下所示: ```java public interface Transformer { public Object transform(Object input); } ``` 当Map中的任意项的Key或者Value被修改,相应的Transformer就会被调用。除此以外,多个Transformer还能串起来,形成ChainedTransformer。 Apache Commons Collections中已经实现了一些常见的Transformer,其中有一个可以通过调用Java的反射机制来调用任意函数,叫做InvokerTransformer,代码如下: ```java public class InvokerTransformer implements Transformer, Serializable { ... public...

0%
暂无可用Exp或PoC
当前有0条受影响产品信息