漏洞分析——變數缺陷漏洞及通用異常捕獲宣告缺陷漏洞

zktq2021發表於2021-09-01

 未使用的變數缺陷漏洞

一、什麼是未使用的變數缺陷?

變數已賦值但從未使用過,這使其成為無意義的變數。

二、未使用的變數缺陷構成條件有哪些?

當一個區域性變數被賦了一個值,而該值沒有被任何後續指令使用時,就會出現未使用的變數。

三、未使用的變數缺陷會造成哪些後果?

計算或檢索一個值,然後重寫或丟棄它,可能表明程式碼中存在嚴重錯誤。即使這不是一個嚴重的錯誤,也是一種資源浪費。

四、未使用的變數缺陷的防範和修補方法有哪些?

從程式碼中刪除未使用的變數。

五、透過錯誤訊息導致的資訊暴露缺陷樣例:

用 上述程式程式碼,則可以發現程式碼中存在著“未使用的變數” 導致的程式碼缺陷,如下圖:

未使用的變數缺陷在CWE中被編號為CWE-563:Assignmentto Variable without Use

▲ 通用異常捕獲宣告缺陷漏洞

一、什麼是通用異常捕獲宣告缺陷?

捕獲過於廣泛的異常會導致複雜的錯誤處理程式碼,該程式碼更可能包含安全漏洞。

二、通用異常捕獲宣告缺陷構成條件有哪些?

的變數。捕捉異常似乎是處理多個可能異常的有效方法。不幸的是,它會捕獲所有異常型別,檢查異常和執行時異常,從而造成了捕獲範圍過大。

三、通用異常捕獲宣告缺陷會造成哪些後果?

捕獲範圍過於廣泛的異常實質上會破壞Java型別異常的目的,並且如果程式增長並開始引發新型別的異常,則變得特別危險。新的異常型別將不會受到任何關注。

四、通用異常捕獲宣告缺陷的防範和修補方法有哪些?

明確列出需要捕獲的異常。

五、通用異常捕獲宣告缺陷的資訊暴露缺陷樣例:

 

Wukong軟體檢測上述程式程式碼,則可以發現程式碼中存在著“通用異常捕獲宣告” 導致的程式碼缺陷,如下圖:

 

通用異常捕獲宣告缺陷在CWE中被編號為:CWE-396:Declaration of Catch for Generic Exception


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70000012/viewspace-2789811/,如需轉載,請註明出處,否則將追究法律責任。

相關文章