描述
该产品是容易通过路径等效文件系统内容披露。路径等效包括使用特殊字符的文件和目录的名称。相关操作的目的是生成多个名称相同的对象。
扩展描述
路径等效通常是采用以绕过访问控制表示使用一组完整的文件名或文件路径表示。这不同于路径遍历,在执行操作来生成不同的对象的名称。
的关系
此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
相关的视图”研究概念”(cwe - 1000)
自然 |
类型 |
ID |
的名字 |
ChildOf |
类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。 |
706年 |
使用Incorrectly-Resolved名称或引用 |
ParentOf |
变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。 |
42 |
路径等效:“文件名。”(拖点) |
ParentOf |
变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。 |
44 |
路径等效:“file.name”(内部点) |
ParentOf |
变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。 |
46 |
路径等效:“文件名”(落后于空间) |
ParentOf |
变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。 |
47 |
路径等效:“文件名”(主要空间) |
ParentOf |
变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。 |
48 |
路径等效:“文件名称”(内部空格) |
ParentOf |
变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。 |
49 |
路径等效:“文件名/”(末尾斜杠) |
ParentOf |
变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。 |
50 |
等效路径:/ /多/领导/削减的 |
ParentOf |
变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。 |
51 |
等效路径:/多/ /内部削减的 |
ParentOf |
变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。 |
52 |
路径等效:“/多/ / / / /’结尾 |
ParentOf |
变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。 |
53 |
路径等效:\内部多个\ \ \反斜杠的 |
ParentOf |
变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。 |
54 |
路径等效:“filedir \”(尾部) |
ParentOf |
变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。 |
55 |
路径等效:/。/ '(单点目录) |
ParentOf |
变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。 |
56 |
路径等效:“filedir *’(通配符) |
ParentOf |
变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。 |
57 |
路径等效:“fakedir / . . / realdir /文件名” |
ParentOf |
变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。 |
58 |
路径等效:Windows 8.3文件名 |
PeerOf |
Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 |
1289年 |
不当的不安全的等价验证输入 |
光束 |
类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。 |
20. |
不正确的输入验证 |
光束 |
Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 |
73年 |
外部控制文件名或路径 |
光束 |
类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。 |
172年 |
编码错误 |
此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
相关观点“软件开发”(cwe - 699)
自然 |
类型 |
ID |
的名字 |
MemberOf |
类别——CWE条目包含一组其他条目,共享一个共同的特点。 |
1219年 |
文件处理问题 |
模式的介绍
不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
常见的后果
这个表指定不同的个人相关后果的弱点。标识应用程序范围的安全领域侵犯,而影响了负面的技术影响,如果敌人成功利用这个弱点。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能会有高可能性,缺点将被利用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 |
影响 |
可能性 |
保密 完整性 访问控制
|
技术的影响:阅读文件或目录;修改文件或目录;旁路保护机制
攻击者可以遍历文件系统,以意想不到的地点和读或覆盖意想不到的文件的内容。如果文件是用于安全机制比攻击者可以绕过机制。 |
|
观察到的例子
参考 |
描述 |
|
源代码公开使用拖曳点 |
|
源代码公开使用拖曳点 |
|
源代码公开使用拖曳点或落后于编码空间“% 20” |
|
源代码公开使用拖曳点 |
|
绕过目录访问限制在URL中使用拖曳点 |
|
绕过目录访问限制在URL中使用拖曳点 |
|
绕过检查”。lnk .lnk扩展使用。” |
|
来源披露通过拖曳编码空间“% 20” |
|
来源披露通过拖曳编码空间“% 20” |
|
来源披露通过拖曳编码空间“% 20” |
|
来源披露通过拖曳编码空间“% 20” |
|
来源披露通过拖曳编码空间“% 20” |
|
来源披露通过拖曳编码空间“% 20” |
|
来源披露通过拖曳编码空间“% 20” |
|
多因素的脆弱性(MVF)。目录遍历使用Web编码在FTP服务器和其他问题如“% 20”;某些操作不寻常的副作用。 |
|
查询字符串的尾随空格(“+”)披露导致源代码。 |
|
文件名与空间允许任意文件删除当产品不正确的引用;一些重叠路径遍历。 |
|
“+”字在查询字符串转换为空间敏感文件/扩展(内部空间),导致绕过访问限制的文件。 |
|
重叠infoleak |
|
应用程序服务器允许远程攻击者读取源代码. jsp文件通过附加/请求的URL。 |
|
绕过基本身份验证使用拖曳文件“/” |
|
读取敏感文件与落后的“/” |
|
Web服务器,远程攻击者可以查看文档根目录下的敏感文件通过GET请求(比如.htpasswd) /。 |
|
目录遍历脆弱性服务器允许远程攻击者读取保护文件通过. .(点点)序列在一个HTTP请求。 |
|
源代码公开 |
|
读文件完整路径名使用多个内部削减。 |
|
服务器允许远程攻击者通过GET请求读取任意文件与多个领先/(削减)字符的文件名。 |
|
服务器允许远程攻击者读取任意文件通过领先的斜杠(/ /)字符的URL请求。 |
|
服务器允许远程攻击者绕过身份验证和读取限制文件通过一个额外的/(削减)请求的URL。 |
|
产品允许本地用户删除任意文件或创建任意空文件通过一个目标文件名与大量的领先斜杠(/)字符。 |
|
服务器允许远程攻击者绕过访问限制的文件通过一个HTTP请求的多个序列/(削减)字符,如http://www.example.com///file/。 |
|
产品允许远程攻击者绕过身份验证,获取敏感信息,或通过直接访问请求管理员/用户。之前pl / /(双领先的削减)。 |
|
服务器允许远程攻击者通过一个URL执行任意命令有多个领先的“/”(削减)人物和“. .”序列。 |
|
访问目录使用多个领先的削减。 |
|
绕过访问限制通过多种领先的削减,导致一个正则表达式失败。 |
|
档案提取任意文件使用多个主要削减在存档文件名。 |
|
在web服务器使用多个目录列表末尾斜杠 |
|
ASP。净允许远程攻击者绕过身份验证。aspx文件限制通过请求包含一个目录(1)(反斜杠“\”)或(2)“% 5 c”(编码反斜杠),又名“路径验证漏洞。” |
|
服务器允许远程攻击者读取源代码供插入一个可执行文件。(点)的URL。 |
|
服务器允许远程攻击者通过/读取密码保护的文件。/ HTTP请求。 |
|
输入验证错误 |
|
可能(可能是清洗错误) |
|
”/。/ / / / /等“清洗”。/ / / etc /等“然后 |
|
服务器允许远程攻击者通过/查看密码保护的文件。/在URL中。 |
|
列表目录使用所需的路径和“*” |
|
列表文件在web服务器使用“*开头” |
|
代理允许远程攻击者绕过denylist限制和连接到未经授权的web服务器通过修改请求的URL,包括(1)/ /(双斜杠),(2)/子目录/ . .parentdir所需的文件在哪里,(3)/。/,或(4)url编码的字符。 |
|
应用程序之前检查访问受限制的URL规范化 |
|
CGI来源披露使用“目录名/ . . /目录” |
|
多个web服务器允许限制绕过使用长8.3名称而不是名字 |
|
源代码公开使用8.3文件名称。 |
|
多因素的脆弱性。产品生成临时文件名使用长文件名,这成为8.3格式可预测的。 |
潜在的缓解措施
实施阶段:
假设所有的输入是恶意的。使用一个“接受良好的“输入验证策略,即。,使用一个可接受的输入列表,严格遵守规范。拒绝任何不严格符合规范的输入,或将其转换为一些。
当执行输入验证,考虑所有可能相关的属性,包括长度,类型的输入,可接受的值的全系列,缺失或额外的输入,语法,一致性相关领域,符合业务规则。作为业务规则逻辑的一个例子,在语法上“船”可能是有效的,因为它只包含字母数字字符,但它不是有效的如果输入预计仅包含颜色,如“红”或“蓝色”。
不完全依赖寻找恶意或畸形的输入。这很可能错过至少有一个不受欢迎的输入,特别是如果代码的环境变化。这可以让攻击者有足够的空间绕过验证。然而,denylists可以用于检测潜在攻击或确定哪些输入是畸形的,应该直接驳回。
|
实施阶段:
使用和指定输出编码可以由下游组件读取输出。常见的编码包括iso - 8859 - 1、utf - 7, utf - 8。如果不指定一个编码,下游组件可能会选择不同的编码,通过假设一个默认的编码或使用自动推断哪些编码,这可能是错误的。编码不一致时,下游组件可能治疗一些特殊字符或字节序列,即使他们没有特别在原始的编码。攻击者就能够利用这种差异,开展注入攻击;他们甚至可以绕过保护机制,假设原编码也被下游组件。 |
实施阶段:
输入应该解码和规范化应用程序当前的内部表示之前验证( cwe - 180)。确保应用程序不会解码输入两次相同( cwe - 174)。这些错误可以用来绕过allowlist验证方案通过引入危险的输入后检查。 |
检测方法
自动静态分析——二进制或字节码
根据飙升,以下检测技术可能是有用的:
|
人工静态分析——二进制或字节码
根据飙升,以下检测技术可能是有用的:
|
动态分析与自动化的结果解释
根据飙升,以下检测技术可能是有用的:
-
Web应用程序扫描
-
Web服务的扫描仪
-
数据库扫描仪
|
动态分析与人工解释结果
根据飙升,以下检测技术可能是有用的:
|
人工静态分析源代码
根据飙升,以下检测技术可能是有用的:
-
关注人工抽查,手动分析来源
-
手工源代码审查(不检查)
|
自动静态分析源代码
根据飙升,以下检测技术可能是有用的:
-
源代码缺陷分析仪
-
Context-configured源代码分析器
|
体系结构或设计审查
根据飙升,以下检测技术可能是有用的:
|
影响资源
会员资格
这MemberOf关系表显示额外CWE类别和视图引用这个弱点作为成员。这些信息通常是有用的在理解一个弱点符合外部信息源的上下文中。
笔记
分类法映射
映射分类名称 |
节点ID |
适合 |
映射节点名 |
千鸟 |
|
|
路径等效 |
CERT C安全编码 |
FIO02-C |
|
规范化路径名来自不受信任的来源 |
|