文档详情

反序列化漏洞简介.pdf

发布:2025-04-11约4.92千字共22页下载文档
文本预览下载声明

ThenameoftheDepartmentBeijingForestStudio

北京理工大学信息系统及安全对抗实验中心部门名称

反序列化漏洞简介

李玉硕士研究生

2019年05月05日

内容提要

•背景介绍

•基础知识

•关键技术

•防御方法

•参考文献

2

预期收获

•了解序列化、反序列化基本概念和过程

•了解反序列化漏洞成因、利用方法、防御方法

3

反序列化漏洞简介

背景介绍

背景介绍

•2015年ApacheCommons-collections被爆出第

一个java反序列化漏洞。此后,大量反序列化CVE被爆

出。

•近四年的反序列化CVE:

5

反序列化漏洞简介

基础知识

基础知识

•什么是序列化与反序列化

•为什么要序列化

•序列化和反序列化过程

•Python中的序列化与反序列化

•反序列化漏洞成因

7

基础知识

•什么是序列化与反序列化

–序列化:将一个类对象转换为字节流,从而进行存储和传输

–反序列化:将字节流还原为对象

反序列化

序列化

8

基础知识

•为什么要序列化:为了传递和保存对象

–传递:统一格式,把不同类型的数据统一为字节流,便于传

输和处理

字节流

–保存:实例化对象后,要想保存对象信息,可以将对象序列

化后存入文件,下次读取的时候只需将文件中的数据反序列

化,既可还原对象,又保留了对象的所有状态和变量。

9

基础知识

•序列化和反序列化的过程

–序列化:

•从对象中提取所有属性,并将属性转化为键值对

•写入对象的类名

•形成键值对并转换为字节流输出

–反序列化:

•接收序列化后的数据

•重建属性列表

•调用相关方法,创建一个新的对象

•将属性值复制到新的对象中

10

基础知识

•Python中的序列化方法

–pickle模块:

•序列化:

–dump(对象,文件对象)——转换为字节流并写入文件

–dumps(对象)——转换为字节流,通常用于传输

显示全部
相似文档