漏洞分析——变量缺陷漏洞及通用异常捕获声明缺陷漏洞

为了帮助信息安全入门人员更快的了解软件安全相关的知识,帮助企业更加有效的防范软件安全漏洞,提升网络安全防护能力,接下来为大家简单介绍未使用的变量缺陷漏洞和通用异常捕获声明缺陷漏洞两个常见的缺陷漏洞,欢迎大家一起探讨!

 未使用的变量缺陷漏洞

一、什么是未使用的变量缺陷?

变量已赋值但从未使用过,这使其成为无意义的变量。

二、未使用的变量缺陷构成条件有哪些?

当一个局部变量被赋了一个值,而该值没有被任何后续指令使用时,就会出现未使用的变量。

三、未使用的变量缺陷会造成哪些后果?

计算或检索一个值,然后重写或丢弃它,可能表明代码中存在严重错误。即使这不是一个严重的错误,也是一种资源浪费。

四、未使用的变量缺陷的防范和修补方法有哪些?

从代码中删除未使用的变量。

五、通过错误消息导致的信息暴露缺陷样例:

Wukong软件检测上述程序代码,则可以发现代码中存在着“未使用的变量” 导致的代码缺陷,如下图:

未使用的变量缺陷在CWE中被编号为CWE-563:Assignmentto Variable without Use

▲ 通用异常捕获声明缺陷漏洞

一、什么是通用异常捕获声明缺陷?

捕获过于广泛的异常会导致复杂的错误处理代码,该代码更可能包含安全漏洞。

二、通用异常捕获声明缺陷构成条件有哪些?

的变量。捕捉异常似乎是处理多个可能异常的有效方法。不幸的是,它会捕获所有异常类型,检查异常和运行时异常,从而造成了捕获范围过大。

三、通用异常捕获声明缺陷会造成哪些后果?

捕获范围过于广泛的异常实质上会破坏Java类型异常的目的,并且如果程序增长并开始引发新类型的异常,则变得特别危险。新的异常类型将不会受到任何关注。

四、通用异常捕获声明缺陷的防范和修补方法有哪些?

明确列出需要捕获的异常。

五、通用异常捕获声明缺陷的信息暴露缺陷样例:

 

用Wukong软件检测上述程序代码,则可以发现代码中存在着“通用异常捕获声明” 导致的代码缺陷,如下图:

 

通用异常捕获声明缺陷在CWE中被编号为:CWE-396:Declaration of Catch for Generic Exception

posted @ 2021-06-03 10:08  中科天齐软件原生安全  阅读(218)  评论(0编辑  收藏  举报