程式碼安全測試第十八期:呼叫System.exit()存在安全漏洞
一、為什麼呼叫System.exit()存在安全漏洞?
J2EE應用程式呼叫System.exit(),會關閉其容器。
System.exit()其實是Java中結束程式的方法,呼叫它將關閉當前的JVM虛擬機器。對於web應用程式來說,嘗試關閉應用程式容器絕不是一個值得推薦的方法,因為呼叫可以關閉應用程式的函式可以作為拒絕服務(DoS)攻擊的一種途徑。
二、呼叫System.exit()漏洞構成條件有哪些?
滿足以下條件,就構成了一個該型別的安全漏洞:
J2EE伺服器程式存在某個功能呼叫System.exit()。
三、呼叫System.exit()漏洞會造成哪些後果?
關鍵詞:DoS;崩潰、退出或重新啟動;
攻擊者訪問具有System.exit()的功能,可能會導致程式崩潰、退出或重啟,實現Dos攻擊。
四、呼叫System.exit()漏洞的防範和修補方法有哪些?
1、特權分離:具有關閉程式的功能應該是特權功能,只有具有授權的管理使用者才能使用。
2、Web應用不應該呼叫如System.exit()這樣可以導致虛擬機器退出的方法。
3、Web應用程式不應該將任何異常丟擲到伺服器,這可能會產生負面影響。
4、非Web應用程式可能具有含有System.exit()的main()方法,但不應該在其他位置呼叫。
五、呼叫System.exit()漏洞樣例:
用悟空 靜態程式碼檢測工具分析上述程式程式碼,則可以發現程式碼中存在著“呼叫System.exit()” 導致的 程式碼缺陷,如下圖:
呼叫System.exit()在CWE中被編號為CWE-382: J2EE Bad Practices: Use of System.exit()
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70000012/viewspace-2776504/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 呼叫System.exit()存在安全漏洞
- 程式碼安全測試第十二期:LDAP注入漏洞LDA
- 程式碼安全測試第八期:Switch中缺少default導致的程式碼缺陷
- 程式碼安全測試第十五期:跨站指令碼漏洞指令碼
- 程式碼安全測試第二十八期:未使用的變數缺陷漏洞變數
- 程式碼安全測試第十期:日誌偽造漏洞
- 程式碼安全測試第十一期:記憶體洩漏漏洞記憶體
- 程式碼安全測試第十三期:敏感資訊的明文傳輸漏洞
- 程式碼安全測試第十六期:使用不安全的隨機值漏洞隨機
- 滲透測試網站安全漏洞檢測大體方法網站
- 程式碼安全測試第十九期:用不安全的授權建立臨時檔案漏洞
- 前端週刊第十八期前端
- window.open()和target= blank存在安全漏洞
- 靜態加密:存在代理混淆的安全漏洞加密
- 錢包網站安全漏洞測試服務詳情網站
- 常見的Web安全漏洞及測試方法介紹Web
- 波音洩漏程式碼暴露 787 安全漏洞
- 軟體測試與程式碼安全詳解
- 【阿里聚安全·安全週刊】Intel晶片級安全漏洞事件|macOS存在漏洞阿里Intel晶片事件Mac
- APP安全測試 該如何滲透檢測APP存在的漏洞APP
- 銳龍處理器不存在Spoiler安全漏洞
- Sun公司釋出警告 Java中存在安全漏洞 (轉)Java
- FastJson引入存在DDos攻擊安全漏洞案例分析ASTJSON
- 程式碼安全測試第十七期:物件只定義了Equals和Hashcode方法之一的漏洞物件
- AI輔助安全測試案例某電商-供應鏈平臺平臺安全漏洞AI
- 測試程式碼
- 網站安全漏洞測試對抓包嗅探埠講解網站
- 系統裡存在安全漏洞的九大高危區域
- Android每週熱點第十八期Android
- web應用存在的10大安全問題,安全測試不容忽視!Web
- MYSQL程式碼顯示測試測試MySql
- 程式碼安全測試第十四期:使用已破解或危險的加密演算法導致的漏洞加密演算法
- 魔獸爭霸自定義地圖直譯器存在安全漏洞地圖
- 黑帽大會:HTTPS和SSL協議存在安全漏洞HTTP協議
- Android被曝存在重大安全漏洞:可創造假IDAndroid
- 詳訊:微軟承認Outlook中存在嚴重安全漏洞 (轉)微軟
- 測試程式碼高亮
- 安全測試|網路安全漏洞分類分級指南、CVSS、DREAD的通用思路