CWE

普遍的弱点

社区开发的软件和硬件弱点类型清单

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

CWE-34:路径遍历:'.... //'

弱点ID:34
抽象:变体
结构:简单的
查看自定义信息:
+描述
该产品使用外部输入来构建应在限制目录内的路径名,但不能正确地中和'.... //'(二倍点dot slash)序列,该序列可以解析到该目录外的位置。
+扩展描述

这使攻击者可以遍历文件系统以访问限制目录之外的文件或目录。

“ .... //”操作对于绕过一些路径遍历保护方案很有用。如果“ ../”以某种正则表达引擎完成的顺序方式过滤,则“ .... //”可以崩溃到“ ../”不安全值(CWE-182)。如果操作系统将“ //”和“/”视为等效的,则将“ ..”删除时也可能有用。

+关系
部分帮助该表显示了与该弱点相关的弱点和高级类别。这些关系定义为childof,parentof,ementof,并深入了解可能存在于较高和较低抽象水平的类似项目。此外,定义了诸如Peerof和Canalsobe之类的关系,以显示用户可能想要探索的类似弱点。
+与观点“研究概念”相关(CWE-1000)
自然 类型 ID 姓名
Childof 根据基础 - 仍然主要独立于资源或技术的弱点,但有足够的细节来提供特定的检测和预防方法。基本水平的弱点通常用以下维度的2或3来描述问题:行为,财产,技术,语言和资源。 23 相对路径遍历
可以按照 根据基础 - 仍然主要独立于资源或技术的弱点,但有足够的细节来提供特定的检测和预防方法。基本水平的弱点通常用以下维度的2或3来描述问题:行为,财产,技术,语言和资源。 182 数据崩溃成不安全的值
+介绍模式
部分帮助引言的不同模式提供了有关如何以及何时引入这种弱点的信息。该阶段识别可能发生介绍的生命周期中的一个点,而音符提供了与给定阶段中引言有关的典型情况。
阶段 笔记
执行
+适用的平台
部分帮助该清单显示了可能出现的弱点的可能区域。这些可能适用于特定的命名语言,操作系统,体系结构,范式,技术或一类此类平台。该平台与给定弱点出现在该实例的频率一起列出。

语言

班级:不是特定语言的(不确定的患病率)

+常见后果
部分帮助该表指定与弱点相关的不同个人后果。该范围确定了违反的应用程序安全区域,而影响描述了如果对手成功利用这一弱点,就会产生负面的技术影响。其可能性提供了有关预期相对于列表中其他后果的特定后果的可能性的信息。例如,可能会利用弱点来实现一定的影响,但很可能会利用它来实现不同的影响。
范围 影响 可能性
保密
正直

技术影响:读取文件或目录;修改文件或目录

+观察到的例子
参考 描述
Mail Server允许远程攻击者通过“ ..”或通过用户提供的参数重命名任意文件来创建任意目录。
+潜在的缓解

阶段:实施

策略:输入验证

假设所有输入都是恶意的。使用“接受已知的好的”输入验证策略,即使用严格符合规格的可接受输入列表。拒绝任何不严格符合规格的输入,或将其转换为可以做的事物。

执行输入验证时,请考虑所有潜在的相关属性,包括长度,输入类型,可接受值的全部范围,缺失或额外的输入,语法,跨相关字段的一致性以及符合业务规则的一致性。作为业务规则逻辑的一个示例,“船”可能在句法上有效,因为它仅包含字母数字字符,但是如果仅预期输入包含诸如“红色”或“蓝色”之类的颜色,则无效。

不要仅仅依靠寻找恶意或畸形的输入。这可能会错过至少一个不良的输入,尤其是如果代码的环境发生变化。这可以为攻击者提供足够的空间来绕过预期的验证。但是,拒绝者对于检测潜在攻击或确定哪些投入是如此畸形以至于应直接拒绝。

验证文件名时,请使用限制要使用的字符集的严格允许清单。如果可行,只允许一个“”。文件名中的角色,以避免弱点CWE-23,并排除目录分离器,例如“/”以避免CWE-36。使用允许文件扩展名的列表,这将有助于避免CWE-434

不要仅仅依靠去除潜在危险字符的过滤机制。这等同于派符者,这可能是不完整的(CWE-184)。例如,如果文件系统还支持使用“ \”作为目录分离器,则过滤“/”是不足的保护。当过滤以仍然产生危险数据的方式应用时,可能会发生另一个可能的错误(CWE-182)。例如,如果“ ../”序列从“ .../... //”字符串中取出,则将两个实例从原始字符串中删除,但其余的字符仍将形成“ ../”字符串。

有效性:高

阶段:实施

策略:输入验证

在经过验证之前CWE-180)。确保应用程序不会解码相同的输入两次(CWE-174)。此类错误可以用来绕过允许列表验证方案,通过检查危险输入后进行检查。
+检测方法

自动静态分析 - 源代码

根据SOAR,以下检测技术可能很有用:

对部分覆盖的成本效益:
  • 源代码弱点分析仪
  • 上下文配置的源代码弱点分析仪

有效性:飙升

建筑或设计评论

根据SOAR,以下检测技术可能很有用:

高度成本效益:
  • 检查(IEEE 1028标准)(可以适用于要求,设计,源代码等)
  • 正式的方法 /正确构造

有效性:高

+会员资格
部分帮助此成员关系表显示了其他CWE类别和视图,将此弱点称为成员。该信息通常可用于理解弱点适合外部信息源的何处。
自然 类型 ID 姓名
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 981 SFP次级群集:路径遍历
+笔记

关系

这可能是由于清洁错误,从而删除了单个“ ../”。
+分类映射
映射的分类名称 节点ID 合身 映射的节点名称
plover '.... //'(双点斜线二倍)
软件故障模式 SFP16 路径遍历
+内容历史记录
+提交
提交日期 提交者 组织
2006-07-19 plover
+修改
修改日期 修饰符 组织
2008-07-01 埃里克·达奇(Eric Dalci) 雪茄
更新的势_METIGATIONS,time_of_introduction
2008-09-08 CWE内容团队 MITER
更新的关系,关系_notes,分类_mappings
2008-10-14 CWE内容团队 MITER
更新的描述
2009-07-27 CWE内容团队 MITER
更新的势_MINEIGATIONS
2010-06-21 CWE内容团队 MITER
更新的描述,势_MITIGATIONS
2010-12-13 CWE内容团队 MITER
更新的关系
2011-03-29 CWE内容团队 MITER
更新的势_MINEIGATIONS
2011-06-01 CWE内容团队 MITER
更新的common_cconsquences
2012-05-11 CWE内容团队 MITER
更新了观察到的示例,关系
2014-07-30 CWE内容团队 MITER
更新的detection_factor,关系,分类_mappings
2017-11-08 CWE内容团队 MITER
更新了适用的_platforms
2020-02-24 CWE内容团队 MITER
更新的电势_限制,关系
2020-06-25 CWE内容团队 MITER
更新的势_MINEIGATIONS
2021-03-15 CWE内容团队 MITER
更新的势_MINEIGATIONS
2023-01-31 CWE内容团队 MITER
更新的描述
+先前的输入名称
改变日期 先前的输入名称
2008-04-11 路径问题 - 双点斜线 - '.... //'
提供更多信息 - 请选择其他过滤器。
页面最后更新:2023年1月31日