程式碼安全測試第三十期:丟擲通用異常缺陷
一、什麼是丟擲通用異常缺陷?
丟擲過於寬泛的異常會導致複雜的錯誤處理程式碼,這些程式碼很可能包含安全漏洞。
宣告丟擲Exception或Throwable的方法會使呼叫方難以執行正確的錯誤處理和錯誤恢復。例如,Java的異常機制的設定使呼叫者能夠輕鬆地預測可能出現的錯誤,並編寫程式碼來處理每個特定的異常情況。
二、丟擲通用異常缺陷的構成條件有哪些?
丟擲過於寬泛的異常。
三、丟擲通用異常缺陷會造成哪些後果?
宣告一個方法丟擲泛型形式的異常會使系統失敗。
四、丟擲通用異常缺陷的防範和修補方法有哪些?
將方法丟擲異常的型別具體詳細化。
五、丟擲通用異常缺陷樣例:
用悟空 軟體靜態程式碼檢測工具 分析上述程式程式碼,則可以發現程式碼中存在著“丟擲通用異常”Secure屬性” 導致的 程式碼缺陷,如下圖:
丟擲通用異常缺陷在CWE中被編號為CWE-397:Declaration of Throws for Generic Exception
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70000012/viewspace-2779394/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 程式碼安全測試第二十九期:通用異常捕獲宣告缺陷漏洞
- 程式碼缺陷解讀:通用異常捕獲宣告缺陷漏洞
- Swift 中 throws 異常丟擲Swift
- 啪,還敢丟擲異常
- oracle主動丟擲異常Oracle
- java中異常丟擲後程式碼還會繼續執行嗎Java
- 漏洞解析——通用異常缺陷及字串比較缺陷字串
- XCode除錯時丟擲異常,定位到某一行程式碼XCode除錯行程
- 擷取Spring框架自動丟擲異常Spring框架
- Java異常十一:使用throw丟擲異常物件;throw和throws的區別Java物件
- migrate:rollback 時 dropForeign 丟擲的異常解決方案
- Shiro身份驗證丟擲AuthenticationException異常,解決方案Exception
- 易優cms404頁面 丟擲HttpException異常HTTPException
- 高效Java:丟擲適合抽象的異常 - Kyle CarterJava抽象
- 程式碼安全測試第十期:日誌偽造漏洞
- 漏洞分析——變數缺陷漏洞及通用異常捕獲宣告缺陷漏洞變數
- 中介軟體中丟擲異常,Handler中無法捕獲
- Golang 迴圈異常丟擲不影響整個請求Golang
- 程式碼安全測試第二十期:資源未關閉/釋放漏洞
- Day42--異常向上丟擲
- 程式碼安全測試第七期:不安全的反射漏洞缺陷反射
- [譯] Ruby 2.6 Kernel 的system 方法增加是否丟擲異常引數。
- Laravel 8 表單驗證丟擲異常返回 json 格式資料LaravelJSON
- 程式碼中如果遇到未定義的變數,會丟擲異常嗎?程式還會不會繼續往下走?變數
- 中介軟體自定義檢測 JWT 並通過自定義異常丟擲錯誤--筆記JWT筆記
- SpringBoot中SpringSecurity 中不能丟擲異常UserNameNotFoundException 問題解析與處理Spring BootGseException
- 程式碼安全測試第八期:Switch中缺少default導致的程式碼缺陷
- Laravel 框架中 使用 Symfony 提供的方法 丟擲不同型別錯誤異常Laravel框架型別
- OpenCV 3.0後的 xfeatures2d 中detect()函式丟擲異常處理OpenCV函式
- 錯誤: 代理丟擲異常錯誤: java.rmi.server.ExportException: Port already in use: 1099;JavaServerExportException
- 程式碼安全測試第二十八期:未使用的變數缺陷漏洞變數
- 程式碼安全測試第九期:Switch中省略了break語句導致的程式碼缺陷漏洞
- 異常-自定義異常的實現和測試
- [譯]Ruby 2.6 會在begin..end 程式碼塊中因為不寫rescue 只寫 else 而丟擲異常[實驗性Feature]
- 程式碼安全測試第二十五期:陣列宣告為public final static漏洞缺陷陣列
- 異常測試實踐與梳理
- Redis client之Jedis線上程執行丟擲異常無法恢復的情形和解決方案Redisclient
- 全網最適合入門的物件導向程式設計教程:23 類和物件的Python實現-丟擲異常物件程式設計Python