CWE

常见的弱点枚举

一个由社区开发的软件&硬件缺陷类型的列表

2021 CWE最重要的硬件的弱点
CWE最危险的弱点
>CWE列表> CWE -个人字典定义(4.10)
ID

cwe - 179:不正确的行为秩序:早期验证

弱点ID: 179
抽象:基地
结构:简单的
视图定制的信息:
+描述
产品验证输入之前应用修改输入的保护机制,这可能允许攻击者绕过验证通过危险的输入,只有修改后出现。
+扩展描述
产品需要在适当的时间,验证数据在数据规范化和清洗。早期验证是容易导致危险的各种操作输入所生产的规范化和清洗。
+的关系
部分帮助此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
+相关的视图”研究概念”(cwe - 1000)
自然 类型 ID 的名字
ChildOf 类类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。 20. 不正确的输入验证
ChildOf 类类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。 696年 不正确的行为秩序
ParentOf 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。 180年 不正确的行为顺序:规范化之前验证
ParentOf 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。 181年 之前错误的行为秩序:验证过滤器
部分帮助此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
+相关观点“软件开发”(cwe - 699)
自然 类型 ID 的名字
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 1215年 数据验证问题
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 438年 行为问题
+模式的介绍
部分帮助不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
阶段 请注意
实现 年初以来验证错误通常出现不当防御机制实现的,这些很可能将更频繁地随着安全编程变得更广泛的实现。
+适用的平台
部分帮助该清单显示了给定的弱点可以可能的地区出现。这些可能是为特定命名的语言,操作系统,架构、模式、技术、或一个类这样的平台。列出的平台是随着频率的出现疲态实例。

语言

类:不是特定于语言的患病率(待定)

+常见的后果
部分帮助这个表指定不同的个人相关后果的弱点。标识应用程序范围的安全领域侵犯,而影响了负面的技术影响,如果敌人成功利用这个弱点。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能会有高可能性,缺点将被利用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 影响 可能性
访问控制
完整性

技术的影响:旁路保护机制;执行未经授权的代码或命令

攻击者可能包括危险的输入,绕过验证保护机制可以用来发动各种攻击包括注入攻击,执行任意代码或造成其他意想不到的行为。
+示范例子

示例1

下面的代码尝试验证给定输入路径通过检查它对一个allowlist然后返回规范化道路。在这个特定的例子中,被认为是有效的路径字符串开头“safe_dir /”。

(坏的代码)
例如语言:Java
字符串路径= getInputPath ();
如果(path.startsWith (" / safe_dir / "))
{
文件f =新文件(路径);
返回f.getCanonicalPath ();
}

上面的代码的问题是,验证步骤前进行规范化。攻击者可以提供一个输入路径“/ safe_dir / . ./”,通过验证步骤。然而,规范化过程中看到的二阶导数作为一个遍历到父目录,因此当canonicized路径将成为“/”。

为了避免这个问题,应该进行验证后规范化。在这种情况下规范化发生在初始化文件的对象。下面的代码修复这个问题。

(好的代码)
例如语言:Java
字符串路径= getInputPath ();
文件f =新文件(路径);
如果(f.getCanonicalPath () .startsWith (" / safe_dir / "))
{
返回f.getCanonicalPath ();
}

示例2

这个脚本创建一个用户目录和子目录中设置用户的所有者。

(坏的代码)
例如语言:PHP
函数createDir(用户名、目录名美元){
$ userDir = /用户/。美元的用户名;
如果(大小写敏感(目录名美元,“. .”)! = = false) {
回声的目录名称包含无效的序列;
返回;
}
/ /过滤“~”,因为其他脚本识别用户目录前缀
目录名=美元(“~”,“大小写不敏感,美元目录名);
newDir = userDir美元。目录名美元;
mkdir (newDir 0700美元);
乔恩(newDir美元,美元的用户名);
}

而脚本试图屏幕的. .的序列,攻击者可以提交一个目录路径包括”。~。”后,这将成为“. .”过滤步骤。这允许一个路径遍历(CWE-21)攻击发生。

+观察到的例子
参考 描述
产品允许远程攻击者查看限制文件通过一个HTTP请求包含一个“*”(通配符或星号)字符。
产品修改文件扩展名的前两个字母后执行安全检查,它允许远程攻击者绕过身份验证通过文件名判明扩展而不是.hts扩展。
数据库消耗额外的在处理字符,不能转换,可以从查询和删除一个转义字符使应用程序SQL注入攻击。
重叠“fakechild / . . / realchild”
产品检查URI " < "和其他文字字符,但它在十六进制解码URI,所以“% 3 e”和其他序列是允许的。
目录遍历漏洞允许远程攻击者读取或修改任意文件通过无效字符之间的两个。(点)字符,过滤和导致“. .”序列。
目录遍历漏洞允许攻击者通过无效字符两覆盖任意文件。(点)字符,过滤和导致“. .”序列。
+潜在的缓解措施

实施阶段:

策略:输入验证

输入应该解码和规范化应用程序当前的内部表示之前验证(cwe - 180)。确保应用程序不会解码输入两次相同(cwe - 174)。这些错误可以用来绕过allowlist验证方案通过引入危险的输入后检查。
+会员资格
部分帮助这MemberOf关系表显示额外CWE类别和视图引用这个弱点作为成员。这些信息通常是有用的在理解一个弱点符合外部信息源的上下文中。
自然 类型 ID 的名字
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 722年 OWASP十大2004类别A1 -用户输入
MemberOf 视图视图——CWE条目的一个子集,它提供了一种检查CWE的内容。两个主要视图结构片(列表)和图(包含条目之间的关系)。 884年 CWE横截面
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 992年 SFP二级集群:错误的输入转换
+笔记

研究的差距

这些错误大多是在路径遍历漏洞,但是这个概念适用于发生时验证。
+分类法映射
映射分类名称 节点ID 适合 映射节点名
千鸟 早期验证错误
+引用
(ref - 62)马克·多德约翰麦克唐纳和贾斯汀Schuh。“软件安全评估的艺术”。第八章,“逃避元字符”,439页。1版。艾迪生卫斯理》2006。
+内容的历史
+提交
提交日期 提交者 组织
2006-07-19 千鸟
+修改
修改日期 修饰符 组织
2008-07-01 Eric Dalci Cigital
更新Potential_Mitigations Time_of_Introduction
2008-08-15 Veracode
建议OWASP 2004年排名前十的映射
2008-09-08 CWE内容团队 主教法冠
更新Modes_of_Introduction、关系、Taxonomy_Mappings
2008-10-14 CWE内容团队 主教法冠
更新描述
2009-03-10 CWE内容团队 主教法冠
更新的关系
2010-06-21 CWE内容团队 主教法冠
更新Research_Gaps
2011-03-29 CWE内容团队 主教法冠
更新Potential_Mitigations
2011-06-01 CWE内容团队 主教法冠
更新Common_Consequences
2012-05-11 CWE内容团队 主教法冠
更新Common_Consequences、Demonstrative_Examples Observed_Examples、引用关系
2014-07-30 CWE内容团队 主教法冠
更新的关系
2017-01-19 CWE内容团队 主教法冠
更新的关系
2017-11-08 CWE内容团队 主教法冠
更新Applicable_Platforms
2020-02-24 CWE内容团队 主教法冠
更新的关系
2020-06-25 CWE内容团队 主教法冠
更新Demonstrative_Examples Potential_Mitigations,关系
2023-01-31 CWE内容团队 主教法冠
更新描述
+以前的条目名称
改变日期 以前的条目名称
2008-04-11 早期验证错误
更多的信息是可用的,请选择一个不同的过滤器。
页面最后更新:2023年1月31日