深入剖析 Java 反序列化漏洞(下)
在上篇文章中,小编有详细的介绍了序列化和反序列化的玩法,以及一些常见的坑点。 但是,高端的玩家往往不会仅限于此,熟悉接口开发的同学一定知道,能将数据对象很轻松的实现多平台之间的通信、对象持久化存储,序列化和反序列化是一种非常有效的手段,例如如下应用场景,对象必须 100% 实现序列化。 DUBBO:对象传输必须要实现序列化 RMI:Java 的一组拥护开发分布式应用程序 API,实现了不同操作系统之间程序的方法调用,RMI 的传输 100% 基于反序列化,Java RMI 的默认端口是 1099 端口
Jackson 使用
老版本的 Jackson 使用的包名为 org.codehaus.jackson,而新版本使用的是com.fasterxml.jackson。
Jackson主要包含了3个模块:
• jackson-core
• jackson-annotations
• jackson-databind
其中,jackson-databind 又依赖于 jackson-annotations。jackson-annotations 又依赖于 jackson-core,