- 一、序列化和反序列化
- 二、Java序列化演示
- 三、反序列化漏洞
一、序列化和反序列化
1、含义
序列化就是内存中的对象写入到IO流中,保存的格式可以是二进制或者文本内容。反序列化就是IO流还原成对象。
2、用途
(1)传输网络对象
(2)保存Session
二、Java序列化演示
1、序列化
java.io.ObjectOutputStream代表对象输出流,它的writeObject()方法可对参数指定的对象进行序列化,把得到的字节序列写到一个目标输出流中。
2、反序列化
java.io.ObjectInputStream代表对象输入流,它的readObject()方法从一个源输入流中读取字节序列,再把它们反序列化为一个对象,并将其返回。
三、反序列化漏洞
1、如果某个类需要自定义反序列化方式,可以重写类的readObject()方法。
2、在反序列化的过程中,会调用这个类的重写readObject()方法。文章来源:https://www.toymoban.com/news/detail-424960.html
3、如果readObject()方法的代码有一些敏感操作,就可能会引发漏洞。文章来源地址https://www.toymoban.com/news/detail-424960.html
到了这里,关于Java序列化和反序列化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!