前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CA2305:请勿使用不安全的反序列化程序 LosFormatter

CA2305:请勿使用不安全的反序列化程序 LosFormatter

作者头像
用户4268038
发布2022-02-20 19:58:21
2920
发布2022-02-20 19:58:21
举报
文章被收录于专栏:stcnb

规则 ID

CA2305

类别

安全性

修复是中断修复还是非中断修复

非中断

原因

调用或引用了 System.Web.UI.LosFormatter 反序列化方法。

规则说明

反序列化不受信任的数据时,不安全的反序列化程序易受攻击。 攻击者可能会修改序列化数据,使其包含非预期类型,进而注入具有不良副作用的对象。 例如,针对不安全反序列化程序的攻击可以在基础操作系统上执行命令,通过网络进行通信,或删除文件。

此规则会查找 System.Web.UI.LosFormatter 反序列化方法调用或引用。

LosFormatter 不安全,无法确保安全。 有关详细信息,请参阅 BinaryFormatter 安全指南。

如何解决冲突

改用安全的序列化程序,并且不允许攻击者指定要反序列化的任意类型。 有关详细信息,请参阅首选替代方案。

使序列化的数据免被篡改。 序列化后,对序列化的数据进行加密签名。 在反序列化之前,验证加密签名。 保护加密密钥不被泄露,并设计密钥轮换。

何时禁止显示警告

LosFormatter 不安全,无法确保安全。

伪代码示例

冲突

using System.IO;

using System.Web.UI;

public class ExampleClass

{

public object MyDeserialize(byte[] bytes)

{

LosFormatter formatter = new LosFormatter();

return formatter.Deserialize(new MemoryStream(bytes));

}

}

Imports System.IO

Imports System.Web.UI

Public Class ExampleClass

Public Function MyDeserialize(bytes As Byte()) As Object

Dim formatter As LosFormatter = New LosFormatter()

Return formatter.Deserialize(New MemoryStream(bytes))

End Function

End Class

本文系外文翻译,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系外文翻译前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档