捕获过于广泛的异常会导致复杂的错误处理代码,该代码更可能包含安全漏洞。
捕捉异常似乎是处理多个可能异常的有效方法。不幸的是,它会捕获所有异常类型,检查异常和运行时异常,从而造成了捕获范围过大。
捕获范围过于广泛的异常实质上会破坏Java类型异常的目的,并且如果程序增长并开始引发新类型的异常,则变得特别危险。新的异常类型将不会受到任何关注。
明确列出需要捕获的异常。
用悟空 软件静态代码检测工具 分析上述程序代码,则可以发现代码中存在着“通用异常捕获声明” 导致的 代码缺陷,如下图:
通用异常捕获声明缺陷在CWE中被编号为: CWE-396:Declaration of Catch for Generic Exception
本文作者:中科天齐软件安全
本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/170822.html