cwe - 626:零字节交互错误(毒Null字节)
描述
产品不妥善处理空字节或NUL字符或组件之间传递数据时不同的表示。
扩展描述
一个空字节(NUL字符)可以有不同的含义在表征或语言。例如,它是一个字符串结束符标准C库,但Perl和PHP字符串不把它作为一个终结者。跨越两个表示时——比如当Perl和PHP调用底层C功能——这可以产生交互错误意想不到的结果。类似的问题已经报告了ASP。其他翻译用C编写也可能受到影响。
毒药null字节通常是有用的路径遍历的袭击终止硬编码的扩展被添加到一个文件名。它可以在正则表达式在PHP中处理中发挥作用。
的关系
此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
模式的介绍
不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
常见的后果
这个表指定不同的个人相关后果的弱点。标识应用程序范围的安全领域侵犯,而影响了负面的技术影响,如果敌人成功利用这个弱点。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能会有高可能性,缺点将被利用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
观察到的例子
参考 |
描述 |
|
空字节绕过PHP正则表达式检查 |
|
插入SQL NUL字节后绕过allowlist regexp,启用SQL注入 |
潜在的缓解措施
弱点Ordinalities
Ordinality |
描述 |
主 |
(其他弱点的弱点存在独立的) |
笔记
术语
当前使用的零字节“毒药”通常是与此相关的C / Perl / PHP交互错误,但在1998年最初的术语是“从一开始”应用到一个缓冲区溢出涉及一个空字节。
研究的差距
CVE的例子并不多,因为毒零字节是一个设计限制,通常不包括在CVE本身。它通常是作为一个主持人操纵扩大范围的潜在攻击其他漏洞。
引用
|