描述
正则表达式是过分严格的,它可以防止危险值被检测到。
扩展描述
这个弱点不是关于正则表达式的复杂性。相反,它是关于一个正则表达式不匹配的所有值。考虑使用一个正则表达式来确定可接受的值或发现多余的条款。过于严格的regexp错过一些潜在的安全相关的价值观导致假阴性或假阳性* *,这取决于所使用的regexp是在代码中。考虑意图的表达(主)/ / [0 - 9]。这个表达式不是“复杂”,但“9”的值不匹配时,程序员可能计划检查它。
的关系
模式的介绍
不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
常见的后果
这个表指定不同的个人相关后果的弱点。标识应用程序范围的安全领域侵犯,而影响了负面的技术影响,如果敌人成功利用这个弱点。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能会有高可能性,缺点将被利用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
观察到的例子
参考 |
描述 |
|
米氏。”。php。ns“绕过”。php“正则表达式,但美元仍然是解析php的Apache。(Apache下的操纵一个等价属性) |
潜在的缓解措施
实施阶段:
正则表达式可以变得容易出错当定义一个复杂的语言甚至对于那些经验丰富的写作语法。确定几个较小的正则表达式简化一个大的正则表达式。同时,主题你的正则表达式来全面测试技术如等价划分、边界值分析和鲁棒性。经过测试和一个合理的置信度,正则表达式可能不是万无一失。如果允许利用滑动,然后记录开发和重构你的正则表达式。 |
笔记
分类法映射
映射分类名称 |
节点ID |
适合 |
映射节点名 |
千鸟 |
|
|
过分严格的正则表达式 |
|