2016-12-06 38 views
0

我對我們的應用程序進行了安全掃描,並提出了其中一個安全問題,即「沒有完整性檢查的代碼下載」。在Class.forName("SimpleClass");如何保護Class.forName(「SimpleClass」)?

行的這一風險點我怎麼保證上面的代碼行? 如何確保forName("")的參數不是我要加載的惡意類。

編輯:安全掃描使用的是Checkmarx。

+0

請描述課程來自何處。瞭解攻擊的全部流程可能會幫助我們更好地瞭解情況併爲您提供幫助。 – yaloner

回答

-1

不要把含在你的classpath不可信類的jar包。

該消息是不正確的。這不會下載任何東西。它只會加載一個必須已經存在於你的類路徑中的類才能成功加載。

1

如果你沒有得到來自外部的類,this weakness在這裏並不適用。在這種情況下,您可以加載惡意類,如果它已經在類路徑中。這意味着攻擊者已經可以訪問類路徑 - 在這種情況下,阻力是徒勞的。

如果你從外面獲取類 - 樣,從什麼地方下載它們或允許用戶上傳類或源代碼和編譯它 - 那麼你受這個弱點和需要採取的措施。如果你從用戶那裏獲得課程,你會遇到問題。 :)如果你從某個位置獲得他們看起來很安全,則可以使用HTTPS或自己檢查簽名。但我想這不是你的情況。