陣列宣告為public final static缺陷
本期主題為陣列宣告為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-2790535/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 程式碼安全測試第二十五期:陣列宣告為public final static漏洞缺陷陣列
- CWE-500:宣告為public static的域沒有標記final缺陷簡介
- Java中static、final、static final的區別Java
- java中的Static、final、Static final各種用法Java
- Java中可以宣告一個類為Static嗎?Java
- static/final/常量模式模式
- Java陣列宣告建立和使用以及多維陣列、Arrays類、稀疏陣列Java陣列
- java 陣列的定義(宣告)方法Java陣列
- 為什麼Java的main方法必須是public static void?JavaAI
- 內部Fragment設定為public static和checkReleaseBuilds false與abortOnError falseFragmentUIFalseError
- Java中final與static final的區別Java
- c#二維陣列定義宣告C#陣列
- 反射修改 static final 變數反射變數
- Java中static、final用法小結Java
- final修飾和static final修飾的區別
- 程式碼缺陷解讀:通用異常捕獲宣告缺陷漏洞
- PHP陣列轉換為js陣列PHP陣列JS
- 陣列二:使用陣列可變函式為陣列排序陣列函式排序
- Objective-C可變陣列的宣告與使用Object陣列
- 漏洞分析——變數缺陷漏洞及通用異常捕獲宣告缺陷漏洞變數
- Java學習筆記【1】陣列的宣告和建立Java筆記陣列
- js宣告陣列的幾種方式簡單介紹JS陣列
- PLSQL Language Referenc-PL/SQL集合和記錄-關聯陣列-宣告關聯陣列常量SQL陣列
- jQuery將類陣列物件轉換為陣列jQuery陣列物件
- java中的static和final關鍵字Java
- Java基礎——final和static關鍵字Java
- Java關鍵字static、final使用小結Java
- java final和static關鍵字學習Java
- 徹底搞定Java關鍵字final、staticJava
- java基礎----->Static 和 Final 關鍵字Java
- Java關鍵字final、static使用總結Java
- JavaScript實現類的private、protected、public、static以及繼承JavaScript繼承
- 找不到 main 方法, 請將 main 方法定義為: public static void main(String[] args)AI
- 將字串陣列轉換為浮點數陣列字串陣列
- js將偽陣列或者集合轉換為陣列JS陣列
- Java 定義長度為 0 的陣列 / 空陣列Java陣列
- php class中public,private,protected,static的區別,以及例項PHP
- 陣列的三種宣告方式總結、多維陣列的遍歷、Arrays類的常用方法總結陣列