ITPub博客

首页 > IT基础架构 > 网络安全 > 漏洞解析——通用异常缺陷及字符串比较缺陷

漏洞解析——通用异常缺陷及字符串比较缺陷

原创 网络安全 作者:zktq2021 时间:2021-08-31 11:11:09 0 删除 编辑

本期主题为抛出通用异常缺陷漏洞和字符串比较缺陷漏洞的相关介绍,欢迎大家一起探讨!

▲ 抛出通用异常缺陷漏洞

抛出过于宽泛的异常会导致复杂的错误处理代码,这些代码很可能包含安全漏洞。

声明抛出Exception或Throwable的方法会使调用方难以执行正确的错误处理和错误恢复。例如,Java的异常机制的设置使调用者能够轻松地预测可能出现的错误,并编写代码来处理每个特定的异常情况。

二、抛出通用异常缺陷的构成条件有哪些?

抛出过于宽泛的异常。

三、抛出通用异常缺陷会造成哪些后果?

声明一个方法抛出泛型形式的异常会使系统失败。

四、抛出通用异常缺陷的防范和修补方法有哪些?

将方法抛出异常的类型具体详细化。

五、抛出通用异常缺陷样例:

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

抛出通用异常缺陷在CWE中被编号为CWE-397:Declaration of Throws for Generic Exception

▲ 使用错误的运算符进行字符串比较缺陷漏洞

一、什么是使用错误的运算符进行字符串比较缺陷?

比较字符串时,使用了错误的运算符,例如当应使用equals()方法代替时,使用“==”。

二、使用错误的运算符进行字符串比较缺陷的构成条件有哪些?

使用“==”运算符比较字符串。

三、使用错误的运算符进行字符串比较缺陷会造成哪些后果?

在Java中,使用”==”或”!=”比较两个字符串是否相等,实际上是比较两个对象是否相等,而不是它们的值。两个对象很可能永远不会相等。虽然该缺陷通常只影响程序的正确性,但如果将相等性用于安全决策,则可能会影响程序的安全性。

四、使用错误的运算符进行字符串比较缺陷的防范和修补方法有哪些?

使用equals()比较字符串。

五、使用错误的运算符进行字符串比较缺陷样例:

 

用Wukong软件检测上述程序代码,则可以发现代码中存在着“使用错误的运算符进行字符串比较” 导致的代码缺陷,如下图:

 

使用错误的运算符进行字符串比较缺陷在CWE中被编号为CWE-597:Use of Wrong Operator in String Comparison


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70000012/viewspace-2789608/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
中科天齐软件源代码安全缺陷检测平台(WuKong)是一款B/S 架构的国产信创静态软件安全测试工具,为客户在软件开发过程中查找、识别、追踪绝大部分主流编码中的技术漏洞与逻辑漏洞,帮助用户提升抵御网络攻击、防止数据泄露等安全问题的能力。

注册时间:2021-05-14

  • 博文量
    533
  • 访问量
    358739