0
我有一個Java程序,它使用user.home
系統屬性來獲取用戶主目錄。 該程序不應允許在命令行上使用user.home
屬性。如果用戶從user.home(java -Duser.home)的命令行傳遞錯誤的目錄,那麼我的程序就會有安全漏洞。如何在命令行上避免Java系統屬性?
那麼如何限制user.home從命令行,它應該只使用通過程序?
我有一個Java程序,它使用user.home
系統屬性來獲取用戶主目錄。 該程序不應允許在命令行上使用user.home
屬性。如果用戶從user.home(java -Duser.home)的命令行傳遞錯誤的目錄,那麼我的程序就會有安全漏洞。如何在命令行上避免Java系統屬性?
那麼如何限制user.home從命令行,它應該只使用通過程序?
無法保證user.home
設置正確。
user.home
從$HOME
環境變量初始化,如果它不直接傳遞給JVM。
不可能阻止用戶修改他們自己的環境。
如果您的設計依賴於'user.home'來確保安全,則無論用戶是否可以在命令行中將其指定爲屬性,您的程序都將是不安全的。 –
如果用戶有權訪問另一個用戶的主目錄,則無需運行Java就會有潛在的安全問題。 –
我建議在你的用例中詳細描述'user.home'對安全敏感的原因。 –