0 0 APP

.NET高级代码审计(第九课) BinaryFormatter反序列化漏洞

发布于 2019/04/17 安全脉搏
0x00 前言 BinaryFormatter和SoapFormatter两个类之间的区别在于数据流的格式不同,其他的功能上两者差不多,BinaryFormatter位于命名空间 System.Runtime.Serialization.Formatters.Binary它是直接用二进制方式把对象进行序列化,优点是速度较快,在不同版本的.NET平台里都可以兼容。但是使用反序列化不受信任的二进制文件会导致反序列化漏洞从而实现远程RCE攻击,本文笔者从原理和代码审计的视角做了相关介绍和复现。 0x01 BinaryFormatter序列化 使用BinaryFormatter类序列化的过程中,用[Serializable]声明这个类是可以被序列化的,当然有些不想被序列化的元素可以用[NoSerialized]属性来规避。下面通过一个实例来说明问题,首先定义TestCla... 登录后阅读全文
本站内收录的所有文章及其中资源(图片、视频等)均来自于互联网,其版权均归原作者及其网站所有。

评论(0)