程式碼安全測試第二十期:資源未關閉/釋放漏洞
一、什麼是資源未關閉/釋放?
在使用臨時或配套資源後,軟體沒有正確“清理”和刪除這些資源。
二、資源未關閉/釋放漏洞構成條件有哪些?
滿足以下條件,就構成了一個該型別的安全漏洞:
1、軟體在使用後沒有正確“清理”並刪除臨時的或配套的資源。
三、資源未關閉/釋放漏洞會造成哪些後果?
關鍵詞:其他;讀取應用資料;修改申請資料;DoS:資源消耗(其他);
1、臨時檔案長時間存在可能會導致應用資料洩露;
2、可能會造成臨時檔案數量溢位,因為目錄通常對允許的檔案數有限制。這可能會造成拒絕服務問題。
四、資源未關閉/釋放漏洞的防範和修補方法有哪些?
1、臨時檔案和其他配套資源在不再需要後應立即關閉/釋放;
2、Java應用程式中流資源應該在finally塊中釋放。
五、資源未關閉/釋放漏洞樣例:
Java應用程式中的流資源應該在finally塊中釋放,否則在呼叫close()之前引發異常將導致I/O資源未釋放。在下面的示例中,在try塊中呼叫close()方法(不正確)。
用悟空 靜態程式碼檢測工具分析上述程式程式碼,則可以發現程式碼中存在著“資源未關閉/釋放”導致的 程式碼缺陷,如下圖:
資源未關閉/釋放在CWE中被編號為CWE-459: Incomplete Cleanup
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70000012/viewspace-2776902/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 程式碼安全測試第十期:日誌偽造漏洞
- 程式碼安全測試第二十八期:未使用的變數缺陷漏洞變數
- 程式碼安全測試第二期:URL重定向(跳轉)漏洞
- 程式碼安全測試第三十期:丟擲通用異常缺陷
- 程式碼安全測試第二十二期:HTTP響應拆分漏洞HTTP
- 程式碼安全測試第二十一期:從finally塊中return漏洞
- 程式碼安全測試第二十九期:通用異常捕獲宣告缺陷漏洞
- 程式碼安全測試第十二期:LDAP注入漏洞LDA
- 程式碼安全測試第二十五期:陣列宣告為public final static漏洞缺陷陣列
- 程式碼安全測試第二十四期:數字型別的不正確轉換漏洞型別
- 程式碼安全測試第十五期:跨站指令碼漏洞指令碼
- 程式碼安全測試第六期:XPath注入漏洞
- 程式碼安全測試第十三期:敏感資訊的明文傳輸漏洞
- 程式碼安全測試第七期:不安全的反射漏洞缺陷反射
- 程式碼安全測試第五期:OS命令注入漏洞
- 程式碼安全測試第十八期:呼叫System.exit()存在安全漏洞
- 程式碼安全測試第二十三期:對XML外部實體引用的不當限制漏洞XML
- 程式碼安全測試第十一期:記憶體洩漏漏洞記憶體
- 程式碼安全測試第十六期:使用不安全的隨機值漏洞隨機
- 程式碼安全 兩種程式碼漏洞
- 程式碼安全測試第一期:什麼是SQL隱碼攻擊漏洞?SQL
- 程式碼安全測試第四期:可逆的單向雜湊漏洞
- Window黑客程式設計之資源釋放技術黑客程式設計
- 網站安全測試之APP滲透測試漏洞網站APP
- 網站滲透測試安全檢測漏洞網站
- 程式碼安全測試第九期:Switch中省略了break語句導致的程式碼缺陷漏洞
- 前端週刊第二十期前端
- 程式碼安全測試第三期:路徑遍歷漏洞的防範與檢測
- 程式碼安全測試第十九期:用不安全的授權建立臨時檔案漏洞
- 程式碼安全測試第二十六期:透過錯誤訊息導致的資訊暴露
- 網站漏洞測試php程式碼修復詳情網站PHP
- 網站滲透測試漏洞分析程式碼架構網站架構
- 軟體測試與程式碼安全詳解
- 滲透測試之CSRF程式碼漏洞的檢測與加固方案
- java try(){}catch(){}自動資源釋放Java
- Python tkinter矩形縮放測試程式Python
- 網站安全公司 滲透測試中的漏洞資訊蒐集網站
- 漏洞安全相關概念解釋?網路安全入門學習