反序列化漏洞


反序列化漏洞

序列化和反序列化

序列化是指把对象转换为字节序列的过程,反序列化是指把字节序列恢复为对象的过程

作用

通过序列化,能将对象写入内存、文件或数据库,可以作为字节流发送和接收,通常序列化后的数据格式为json或xml格式

通过反序列化,将序列化数据或字节流恢复为原始对象的完整副本,实现其状态与序列化时完全相同

反序列化漏洞

反序列化漏洞的关键在于传输的数据可不可控,如果用户对数据可控,则攻击者能够构造恶意输入,就可以利用反序列化构造攻击

防御

避免对用户输入进行反序列化

使用数据签名来检查数据的完整性