反序列化漏洞
反序列化漏洞
序列化和反序列化
序列化是指把对象转换为字节序列的过程,反序列化是指把字节序列恢复为对象的过程
作用
通过序列化,能将对象写入内存、文件或数据库,可以作为字节流发送和接收,通常序列化后的数据格式为json或xml格式
通过反序列化,将序列化数据或字节流恢复为原始对象的完整副本,实现其状态与序列化时完全相同
反序列化漏洞
反序列化漏洞的关键在于传输的数据可不可控,如果用户对数据可控,则攻击者能够构造恶意输入,就可以利用反序列化构造攻击
防御
避免对用户输入进行反序列化
使用数据签名来检查数据的完整性