jvm作为用户输入传递时,如何处理易受攻击的代码,例如“ System.exit()”?
答案 0 :(得分:3)
Java没有像JavaScript中的eval()
这样的函数来即时执行Java代码。
只有两种方法可以加载代码:
ObjectInputStream
反序列化数据(以及相应的类字节码)。 两种方法都容易受到恶意代码的攻击,因此加载的代码可以执行任何操作。
Java提供的唯一方法是安全管理器-主要在Java Applet中使用。但是,此方法已过时,恕我直言,因为始终有一种绕过Security Manager限制的方法。如今Java小程序过时的主要原因之一。