假序列化信息

问题描述:

我正在准备MCTS考试70-536和读的书“MCTS自定进度的培训 套件考试70 536微软的.NET Framework应用程序开发的基础第二 版”假序列化信息

在第5章 - 系列化,下面是难倒我的声明。

您必须 您的序列化的构造函数执行数据验证和 抛出SerializationException如果提供 无效数据。风险是 ,攻击者可以使用您的类 ,但提供虚假序列号 信息,试图利用 的一个弱点。

我理解数据验证,但无法理解攻击者如何提供伪造的 序列化信息。我想通过一个例子 (无论是在代码中还是在概念上)来了解这一点。我搜索了网页,但无法提供任何东西。

如果将数据序列化到文件中,用户可以编辑文件以导致程序错误运行。如果您在线读取或写入位置(包括在未通过身份验证的情况下修改传输中的数据),则可以执行类似的操作。讨论的总体主题是,不能保证序列化数据是由您的应用程序生成的;它可能是由攻击者或模糊测试人员生成的,该测试人员有意试图破坏应用程序的数据结构以发现漏洞。