程式碼安全測試第二十五期:陣列宣告為public final static漏洞缺陷
一、什麼是陣列宣告為public final static缺陷?
程式宣告一個public final static的陣列,這不足以防止修改陣列的內容。
二、陣列宣告為public final static缺陷構成條件有哪些?
因為陣列是可變物件,所以最終約束要求陣列物件本身只分配一次,但不保證陣列元素的值。由於陣列是public的,因此惡意程式可以更改儲存在陣列中的值。因此,在大多數情況下,宣告為public final static的陣列是一個錯誤。
三、陣列宣告為public final static缺陷會造成哪些後果?
程式資料會被修改,可能產生不利影響。
四、陣列宣告為public final static缺陷的防範和修補方法有哪些?
大部分情況下,陣列宣告應為private。
五、陣列宣告為public final static缺陷樣例:
用悟空 軟體靜態程式碼檢測工具分析 上述程式程式碼,則可以發現程式碼中存在著“陣列宣告為public final static缺陷” 導致的 程式碼缺陷,如下圖:
陣列宣告為public final static缺陷在CWE中被編號為CWE-582:Array Declared Public, Final, and Static
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70000012/viewspace-2777953/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 陣列宣告為public final static缺陷陣列
- 程式碼安全測試第二十九期:通用異常捕獲宣告缺陷漏洞
- CWE-500:宣告為public static的域沒有標記final缺陷簡介
- 程式碼安全測試第二十八期:未使用的變數缺陷漏洞變數
- 程式碼安全測試第十五期:跨站指令碼漏洞指令碼
- 程式碼安全測試第五期:OS命令注入漏洞
- 程式碼缺陷解讀:通用異常捕獲宣告缺陷漏洞
- 程式碼安全測試第七期:不安全的反射漏洞缺陷反射
- 程式碼安全測試第二十期:資源未關閉/釋放漏洞
- 程式碼安全測試第二十二期:HTTP響應拆分漏洞HTTP
- 程式碼安全測試第二十一期:從finally塊中return漏洞
- 程式碼安全測試第九期:Switch中省略了break語句導致的程式碼缺陷漏洞
- 漏洞分析——變數缺陷漏洞及通用異常捕獲宣告缺陷漏洞變數
- 程式碼安全測試第二十四期:數字型別的不正確轉換漏洞型別
- 程式碼安全測試第二十三期:對XML外部實體引用的不當限制漏洞XML
- 程式碼安全測試第十二期:LDAP注入漏洞LDA
- java中的Static、final、Static final各種用法Java
- 程式碼安全測試第三十期:丟擲通用異常缺陷
- 程式碼安全測試第八期:Switch中缺少default導致的程式碼缺陷
- 程式碼安全測試第六期:XPath注入漏洞
- static/final/常量模式模式
- 程式碼安全測試第十八期:呼叫System.exit()存在安全漏洞
- 程式碼安全測試第十期:日誌偽造漏洞
- 程式碼安全測試第十一期:記憶體洩漏漏洞記憶體
- static,private,final,abstract,protected
- 程式碼安全測試第二期:URL重定向(跳轉)漏洞
- 程式碼安全測試第十六期:使用不安全的隨機值漏洞隨機
- 程式碼安全 兩種程式碼漏洞
- 程式碼安全測試第一期:什麼是SQL隱碼攻擊漏洞?SQL
- 程式碼安全測試第十三期:敏感資訊的明文傳輸漏洞
- 程式碼安全測試第四期:可逆的單向雜湊漏洞
- 反射修改 static final 變數反射變數
- 為什麼Java的main方法必須是public static void?JavaAI
- Java陣列宣告建立和使用以及多維陣列、Arrays類、稀疏陣列Java陣列
- JavaScript實現佇列(程式碼+測試)JavaScript佇列
- java 陣列的定義(宣告)方法Java陣列
- Rust與Java程式碼比較:將二維陣列轉為三維陣列RustJava陣列
- 網站安全測試之APP滲透測試漏洞網站APP