表达式永假/永真缺陷缺陷漏洞

一、什么是表达式永假/永真缺陷?

如果布尔表达式不改变程序逻辑,则完全没有必要,并且可以将其删除。如果执行逻辑与程序员的意图不匹配,这就是一个错误,布尔表达式应该被修复。

二、表达式永假/永真缺陷的构成条件有哪些?

该软件包含一个始终为假或为真的表达式。

三、表达式永假/永真缺陷的构成会造成哪些后果?

无效代码可能会在代码维护期间引起问题,并可能引入漏洞。

四、表达式永假/永真缺陷的防范和修补方法有哪些?

布尔表达式应该有改变其值的操作。

使用静态分析工具发现这种情况。

五、表达式永假/永真缺陷样例:

  1.jpg

悟空软件安全检测工具检测上述程序代码,则可以发现代码中存在着“表达式永假/永真” 导致的代码缺陷,如下图:

  2.png

表达式永假/永真缺陷在CWE中被编号为CWE-570:Expression is Always False


本文作者:中科天齐软件安全

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/175779.html

Tags:
评论  (0)
快来写下你的想法吧!

中科天齐软件安全

文章数:95 积分: 45

WuKong软件源代码静态检测工具,为客户在软件开发过程中查找、识别、追踪绝大部分主流编码中的技术漏洞与逻辑漏洞,帮助用户提升抵御网络攻击。

安全问答社区

安全问答社区

脉搏官方公众号

脉搏公众号