1813
5
5516
超级版主
做后端、写接口、做分布式开发,一定会碰到序列化、反序列化。很多初学者对这两个名词感到抽象,其实它就是程序世界的数据打包拆包机制。内存中的程序对象不能直接存文件、跨网络传输,序列化就负责把对象转成可流通格式;反序列化再把字节 / 文本还原成程序对象。但光鲜的功能背后,隐藏高危安全漏洞,也是 OWASP 重点收录的安全风险点。
序列化(Serialize):把内存里的对象、数组、结构体,转换成字符串、字节流,变成可以保存到文件、数据库、缓存,或者通过网络传输的数据格式。反序列化(Deserialize):收到字节 / 文本数据之后,重新还原为程序内存中可调用的对象、结构体。
特点:可以完整还原复杂对象、执行对象回调方法;但是只适配本门语言,跨语言基本不可用,反序列化不可信输入极易触发高危漏洞。
重点提醒:不要以为只有 HTTP 接口才会遇到风险。缓存 Redis、消息队列 MQ、Cookie、本地文件里的序列化数据,一样可能被篡改,同样存在攻击面。
举报
本版积分规则 发表回复 回帖后跳转到最后一页
相关侵权、举报、投诉及建议等,请发 E-mail:2026@typc.net
Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.|晋ICP备2026008270号-1|晋公网安备14010602111293号