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

admin 2022年4月2日01:11:24SecPulseの代码审计评论1 次浏览阅读模式

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

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

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

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

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

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

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

使用equals()比较字符串。

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

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

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

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

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

  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年4月2日01:11:24
  • 转载请务必保留本文链接:http://zone.ci/archives/secpulse/secpulse_codeaudit/2022/04/02/338889.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: