Java安全漏洞ysoserial URLDNS攻击链是如何实现的?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1340个文字,预计阅读时间需要6分钟。
目录 + JAVA序列化和反序列化的基本概念 + 序列化和反序列化的类 + 简单测试 + 重写的readObject方法 + 分析URLDNS的使用链 + 方法中遍历key值执行putVal方法 + 触发:URL类中的hashCode方法 + 触发DNS请求
目录
- JAVA序列化和反序列化的基本概念
- 序列化和反序列化的类
- 简单测试
- 重写的readobject方法
- 分析URLDNS的利用链
- 方法中遍历key值执行putVal方法
- 触发:URL类中的hashCode方法
- 触发DNS请求:
JAVA序列化和反序列化的基本概念
在分析URLDNS之前,必须了解JAVA序列化和反序列化的基本概念。
其中几个重要的概念:
需要让某个对象支持序列化机制,就必须让其类是可序列化,为了让某类可序列化的,该类就必须实现如下两个接口之一:
Serializable:标记接口,没有方法
Externalizable:该接口有方法需要实现,一般不用这种
序列化对象时,默认将里面所有属性都进行序列化,但除了static或transient修饰的成员。
序列化具备可继承性,也就是如果某类已经实现了序列化,则它的所有子类也已经默认实现了序列化。
本文共计1340个文字,预计阅读时间需要6分钟。
目录 + JAVA序列化和反序列化的基本概念 + 序列化和反序列化的类 + 简单测试 + 重写的readObject方法 + 分析URLDNS的使用链 + 方法中遍历key值执行putVal方法 + 触发:URL类中的hashCode方法 + 触发DNS请求
目录
- JAVA序列化和反序列化的基本概念
- 序列化和反序列化的类
- 简单测试
- 重写的readobject方法
- 分析URLDNS的利用链
- 方法中遍历key值执行putVal方法
- 触发:URL类中的hashCode方法
- 触发DNS请求:
JAVA序列化和反序列化的基本概念
在分析URLDNS之前,必须了解JAVA序列化和反序列化的基本概念。
其中几个重要的概念:
需要让某个对象支持序列化机制,就必须让其类是可序列化,为了让某类可序列化的,该类就必须实现如下两个接口之一:
Serializable:标记接口,没有方法
Externalizable:该接口有方法需要实现,一般不用这种
序列化对象时,默认将里面所有属性都进行序列化,但除了static或transient修饰的成员。
序列化具备可继承性,也就是如果某类已经实现了序列化,则它的所有子类也已经默认实现了序列化。

