cwe - 792:不完全过滤的特殊元素的一个或多个实例
描述
产品从一个上游组件接收数据,但不完全过滤特殊元素的一个或多个实例之前发送给下游组件。
扩展描述
不完全过滤这种性质的包括:
- 只有过滤单一实例的一个特殊的元素更多存在,或
- 不过滤所有实例或多个特殊元素存在的所有元素。
的关系
模式的介绍
不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
阶段 |
请注意 |
实现 |
实现:造成这一弱点在建筑安全策略的实施。 |
常见的后果
这个表指定不同的个人相关后果的弱点。标识应用程序范围的安全领域侵犯,而影响了负面的技术影响,如果敌人成功利用这个弱点。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能会有高可能性,缺点将被利用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
示范例子
示例1
下面的代码将不受信任的输入,并使用一个正则表达式来过滤”. .从输入/”。然后将这个结果/home/user/目录并试图读取文件最后生成的路径。
我的用户名=美元GetUntrustedInput (); 用户名= ~ s / \美元。\ \ / / /; 我的$ filename =“/ home / user /”。美元的用户名; ReadAndSendFile ($ filename);
自正则表达式没有/ g全球匹配修饰符,它只删除第一个实例“. ./“遇到。所以一个输入值,例如:
. . / . . / . . / etc / passwd
将第一个“. ./“剥夺,导致:
这个值然后连接/home/user/目录:
/home/user/../../etc/passwd
导致检索/ etc / passwd文件一旦操作系统解决了. .在路径名/序列。这导致相对路径遍历(CWE-23)。
|