Jboss Seam Interpolator:它可以用于执行命令(java.lang.Runtime.exec)吗?

时间:2011-07-09 16:17:55

标签: java jboss seam runtime.exec

我崩溃之前,我的服务器上有这些奇怪的消息:

[ (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中找到了这些代码:

http://www.java2s.com/Open-Source/Java-Document/JBoss/jboss-seam-2.1.0.A1/org/jboss/seam/core/Interpolator.java.htm

我找到了这些帖子

How to solve "java.io.IOException: error=12, Cannot allocate memory" calling Runtime#exec()?

但在我的情况下,我并不想解决它,我想限制它。

我可以通过安全管理器阻止系统执行吗? 你有什么建议可以阻止这种执行吗?

提前致谢。

1 个答案:

答案 0 :(得分:2)

你确定你的代码试图在你的服务器上运行“ls”吗?如果没有,看起来有人试图利用Seam 2的this问题。在这种情况下,你应该升级到Seam 2.2.2.Final