序列化就是将对象转换成字节流,可以更方便的将数据保存到本地文件
反序列化就是将字节流还原成对象
Java中提供了两个接口来支持序列化,ObjectIutputStream()和ObjectOutputStream()
序列化相对安全,问题出在反序列化的过程
原理
攻击者通过构造恶意的参数,使数据在在反序列化后生成特殊的对象类型,从而执行恶意代码
问题的根源在于,反序列化时没有对生成的对象类型做限制
防御
反序列化漏洞的防御主要以白名单为主,限制对象的类型,从而减小影响
序列化就是将对象转换成字节流,可以更方便的将数据保存到本地文件
反序列化就是将字节流还原成对象
Java中提供了两个接口来支持序列化,ObjectIutputStream()和ObjectOutputStream()
序列化相对安全,问题出在反序列化的过程
原理
攻击者通过构造恶意的参数,使数据在在反序列化后生成特殊的对象类型,从而执行恶意代码
问题的根源在于,反序列化时没有对生成的对象类型做限制
防御
反序列化漏洞的防御主要以白名单为主,限制对象的类型,从而减小影响