cwe - 502:反序列化不可信的数据
视图定制的信息:
序列化对象往往是方便沟通或保存以备后用。然而,反序列化数据或代码往往可修改,无需使用提供的访问器功能如果它不使用加密来保护自己。此外,任何加密仍将客户端安全——这是一个危险的安全假设。 不可信的数据不能被信任是格式良好的。 当开发人员的地方没有限制工具链,或一系列的实例和方法调用可以self-execute反序列化过程中(即。对象返回给调用者之前),攻击者利用他们有时可能执行未经授权的操作,生成一个壳。
此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
相关的视图”研究概念”(cwe - 1000)
相关观点“软件开发”(cwe - 699)
简化映射的相关视图”缺点漏洞发布”(cwe - 1003)
相关视图”架构概念”(cwe - 1008)
不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
该清单显示了给定的弱点可以可能的地区出现。这些可能是为特定命名的语言,操作系统,架构、模式、技术、或一个类这样的平台。列出的平台是随着频率的出现疲态实例。
语言 Java患病率(待定) Ruby患病率(待定) PHP患病率(待定) Python患病率(待定) JavaScript患病率(待定) 技术 类:ICS /不(通常是普遍的)
这个表指定不同的个人相关后果的弱点。标识应用程序范围的安全领域侵犯,而影响了负面的技术影响,如果敌人成功利用这个弱点。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能会有高可能性,缺点将被利用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
示例1 这个代码片段反序列化一个对象从一个文件中,并使用它作为一个UI按钮:
(坏的代码)
例如语言:Java
尝试{
文件文件=新文件(“object.obj”); }ObjectInputStream =新ObjectInputStream(新FileInputStream(文件); javax.swing。JButton按钮= (javax.swing.JButton) in.readObject (); in.close (); 这段代码不会尝试验证文件的源或内容之前反序列化。攻击者可以将目标文件替换为一个文件,其中包含任意恶意代码时将执行按钮被按下。 减轻,明确定义最终readObject()来防止反序列化。这方面的一个例子:
(好的代码)
例如语言:Java
私人最终无效readObject (ObjectInputStream)抛出io。IOException {
把新的io。IOException(“不能反序列化”);} 示例2 在Python中,泡菜库处理序列化和反序列化过程。在这个例子中来自[ref - 467),代码接收并解析数据,然后试图验证一个用户基于验证令牌。
(坏的代码)
例如语言:Python
尝试{
类ExampleProtocol (protocol.Protocol):
def dataReceived(自我、数据): #代码会在这里将解析传入的数据 #接收头后,调用confirmAuth()进行身份验证 def confirmAuth(自我,标题): 试一试: 令牌= cPickle.loads (base64.b64decode(头[' AuthToken '])) 如果不是check_hmac(令牌“签名”,令牌(的数据),getSecretKey ()): 提高AuthFail 自我。secure_data =令牌(的数据) 除了: 提高AuthFail 不幸的是,代码不验证传入的数据是合法的。攻击者可以构造一个非法的、序列化对象“AuthToken”实例化一个Python的子流程执行任意命令。例如,攻击者可以构造一个泡菜,利用Python的子过程模块,生成新的流程和包括一个数量的参数为各种用途。自泡菜允许对象定义的过程如何应该未酸洗的,攻击者可以直接unpickle过程调用Popen /bin/sh.子过程模块和执行
这MemberOf关系表显示额外CWE类别和视图引用这个弱点作为成员。这些信息通常是有用的在理解一个弱点符合外部信息源的上下文中。
更多的信息是可用的,请选择一个不同的过滤器。
|
使用常见的弱点枚举(CWE)和相关的引用从这个网站的使用条款。CWE赞助的美国国土安全部(DHS)网络和基础设施安全机构(CISA)和管理的国土安全系统工程和发展研究所这是由(HSSEDI)manbetx客户端首页(斜方)。版权©2006 - 2023,斜方公司。manbetx客户端首页CWE、水煤浆、CWRAF, CWE标志是斜方公司的商标。manbetx客户端首页 |