使用錯誤的運算子進行字串比較缺陷漏洞
一、什麼是使用錯誤的運算子進行字串比較缺陷?
比較字串時,使用了錯誤的運算子,例如當應使用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
- php運算子 比較運算子 邏輯運算子 三元運算子PHP
- MySQL的四種運算子(算術運算子、比較運算子、邏輯運算子和位運算子)MySql
- php比較運算子的安全問題PHP
- Python學習-比較運算子和邏輯運算子Python
- 字串拼接運算比較字串
- PHP比較運算子的詳細學習PHP
- oracle中字串的大小比較,字串與數字的比較和運算Oracle字串
- 利用compareTo方法進行字串比較排序字串排序
- 學習時犯了低階錯誤!!! 把整數和字串進行比較前沒有強轉型別..字串型別
- PHP4使用者手冊:運算子->字串運算子 (轉)PHP字串
- Kotlin 運算子詳解:算術、賦值、比較與邏輯運算子全解析Kotlin賦值
- 記錄一次數字和字串比較時候犯的錯誤字串
- 字串比較字串
- javascript中&&運算子和||運算子的使用JavaScript
- 字串-簡單字串比較字串
- 比較字串和數字串字串
- PHP比較字串PHP字串
- JAVA字串比較Java字串
- shell 下的字串比較字串
- JavaScript與WebAssembly進行比較JavaScriptWeb
- MySQL把字串欄位轉換為日期型別進行比較MySql字串型別
- Java™ 教程(比較字串和字串的部分)Java字串
- 比較字串和數字串(續)字串
- 使用String. localeCompare比較字串字串
- 一個字串比較的題字串
- 字串比較的常用函式字串函式
- Delphi中字串比較大小 VS Oracle-SQL中字串比較大小字串OracleSQL
- 字串大小寫轉換和字串的比較字串
- 使用Visual Studio進行檔案差異比較
- 使用動態變數進行動態資料比較變數
- GridView中使用三元運算子進行動態繫結View
- python字串比較大小Python字串
- JavaScript字串如何比較大小JavaScript字串
- LintCode 字串比較字串
- Java:比較運算子compareTo()、equals()、==之間的區別與應用總結Java