使用錯誤的運算子進行字串比較缺陷漏洞
一、什麼是使用錯誤的運算子進行字串比較缺陷?
比較字串時,使用了錯誤的運算子,例如當應使用equals()方法代替時,使用“==”。
二、使用錯誤的運算子進行字串比較缺陷的構成條件有哪些?
使用“==”運算子比較字串。
三、使用錯誤的運算子進行字串比較缺陷會造成哪些後果?
在Java中,使用”==”或”!=”比較兩個字串是否相等,實際上是比較兩個物件是否相等,而不是它們的值。兩個物件很可能永遠不會相等。雖然該缺陷通常隻影響程式的正確性,但如果將相等性用於安全決策,則可能會影響程式的安全性。
四、使用錯誤的運算子進行字串比較缺陷的防範和修補方法有哪些?
使用equals()比較字串。
五、使用錯誤的運算子進行字串比較缺陷樣例:
用悟空軟體安全檢測工具檢測上述程式程式碼,則可以發現程式碼中存在著“使用錯誤的運算子進行字串比較” 導致的程式碼缺陷,如下圖:
使用錯誤的運算子進行字串比較缺陷在CWE中被編號為CWE-597:Use of Wrong Operator in String Comparison
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70000012/viewspace-2795490/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 漏洞解析——通用異常缺陷及字串比較缺陷字串
- SCSS 比較運算子CSS
- php運算子 比較運算子 邏輯運算子 三元運算子PHP
- MySQL的四種運算子(算術運算子、比較運算子、邏輯運算子和位運算子)MySql
- Python學習-比較運算子和邏輯運算子Python
- php比較運算子的安全問題PHP
- 利用compareTo方法進行字串比較排序字串排序
- 字串拼接運算比較字串
- 學習時犯了低階錯誤!!! 把整數和字串進行比較前沒有強轉型別..字串型別
- 記錄一次數字和字串比較時候犯的錯誤字串
- 使用String. localeCompare比較字串字串
- 字串比較字串
- Kotlin 運算子詳解:算術、賦值、比較與邏輯運算子全解析Kotlin賦值
- 字串-簡單字串比較字串
- PHP比較字串PHP字串
- 使用Visual Studio進行檔案差異比較
- MySQL把字串欄位轉換為日期型別進行比較MySql字串型別
- Java™ 教程(比較字串和字串的部分)Java字串
- 不用做任何比較判斷運算子找出兩個整數中的較大的值
- javascript中&&運算子和||運算子的使用JavaScript
- JavaScript與WebAssembly進行比較JavaScriptWeb
- python字串比較大小Python字串
- 字串比較的常用函式字串函式
- 使用describe命令進行Kubernetes pod錯誤排查
- 字串大小寫轉換和字串的比較字串
- 844. 比較含退格的字串字串
- 使用ErrorStack進行錯誤跟蹤及診斷Error
- 影像分析,使用Halcon進行缺陷檢測
- python比較運算子中大於等於且小於等於的表達方式Python
- WEBAPI單據查詢介面提示比較符67錯誤WebAPI
- 演算法:比較含退格的字串演算法字串
- Java 字串比較、拼接問題Java字串
- Java字串建立方式比較Java字串
- 算術運算子++、--的使用
- php運算子運用之型別運算子該如何使用PHP型別
- ES5 / ES6 自定義錯誤型別比較型別
- SQL中欄位比較型別不匹配錯誤:‘cannot be cast to’SQL型別AST
- 運算子 運算子