在服务器崩溃之前,我的服务器上有这些奇怪的消息:
[ (org.jboss.seam.core.Interpolator)] exception interpolating string: #{(expressions.getClass().forName('java.lang.Runtime').getDeclaredMethods()[6]).invoke(expressions.getClass().forName('java.lang.Runtime')).exec('ls')}
javax.el.ELException: java.io.IOException: Cannot run program "ls": java.io.IOException: error=12, Cannot allocate memory
我觉得有人试图通过 Interpolator 类执行某些操作。我从早期版本的 seam 中找到了这些代码:
我找到了这些帖子
How to solve "java.io.IOException: error=12, Cannot allocate memory" calling Runtime#exec()?
但就我而言,我不是要解决它,而是要限制它。
我可以通过安全管理器阻止系统执行吗? 您对防止此类处决有什么建议吗?
提前致谢。
最佳答案
您确定是您的代码试图在您的服务器上运行“ls”吗?如果不是,看起来有人试图利用 this Seam 2 的问题。在这种情况下,您应该升级到 Seam 2.2.2.Final
关于java - Jboss Seam Interpolator : could it be use for execute command (java. lang.Runtime.exec)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6635974/