修复被植入乱码的网页

2015年8月25日星期二

原文: #NoHacked: Fixing the Injected Gibberish URL Hack
作者:Eric Kuan, 站长关系专家;Yuan Niu, 网站分析师

在今天的 #nohacked 宣传活动中,我们将讨论如何应对上周提到的黑客手段:在网站上植入乱码网址。即使您的网站并未受到这种黑客手段的侵扰,这篇博文中的很多步骤也都可以帮助您应对其他类型的黑客手段。请使用 #nohacked 标签在 Twitter Google+ 上关注我们的讨论( 第 1 部分 第 2 部分 第 3 部分 第 4 部分


暂时使您的网站离线
暂时使您的网站离线可阻止您网站的访问者查看被黑网页,并可让您有时间来适当修复自己的网站。如果您的网站处于在线状态,那么您将面临在清理网站时再次遭受攻击的风险。

修复您的网站
接下来的几个步骤需要您对网站进行一些技术更改。若您不太熟悉如何对网站进行此类更改,最好咨询一下相关专业人士或聘请他们来执行操作。不过,仔细阅读下面这些步骤仍会对您有所帮助。

在您开始修复网站之前 ,我们建议您 对网站上的内容进行备份 此备份版本仍会包含被黑内容,因此应仅在您不慎移除了关键文件时使用 )。若您不确定如何对网站上的内容进行备份,请向您的托管服务提供商求助,或者查阅您的内容管理系统 (CMS) 文档。在执行上述操作步骤的过程中,每当您要移除一个文件时,请务必先保留一份该文件的副本。

检查您的 .htaccess 文件
为了操控您的网站, 这种 黑客手段会在您的 .htaccess 文件 中创建或修改内容。若您不清楚如何找到自己的 .htaccess 文件,请查阅您的服务器文档或 CMS 文档。

请检查您的 .htaccess 文件中是否有任何可疑内容。若您不知道如何解读 .htaccess 文件中的内容,则可参考 Apache.org 文档中的相关信息、在帮助论坛中发帖咨询或者请教专家。以下是已遭这种黑客手段修改的 .htaccess 文件的 示例


  • <IfModule mod_rewrite.c>
  • RewriteEngine On
  • #Visitors that visit your site from Google will be redirected
  • RewriteCond %{HTTP_REFERER} google\.com
  • #Visitors are redirected to a malicious PHP file called happypuppy.php
  • RewriteRule (.*pf.*) /happypuppy.php?q=$1 [L]
  • </IfModule>
请删除您发现的任何恶意内容。在许多情况下,如果 .htaccess 文件中只有恶意内容,您便可删除整个 .htaccess 文件。 您可能还会发现 htaccess 文件衍生出了一个恶意 PHP 文件(我们称之为 happypuppy.php,但它的名字通常是由两个英文单词随机组合而成)。当我们在下一步中讨论如何找出恶意文件时,这一点会非常重要。

找出其他恶意文件
最常被这种黑客手段修改或植入内容的文件类型是 JavaScript 和 PHP 文件。黑客通常会采取以下两种方法:第一种方法是,在您的服务器上植入新的 PHP 或 JavaScript 文件。被植入的文件的命名方式有时非常类似于您网站上的合法文件,如 wp-cache.php(合法文件是 wp_cache.php)。第二种方法是,修改您服务器上的合法文件并在这些文件中插入恶意内容。例如,如果您的网站上有一个模板或插件 JavaScript 文件,黑客便可能会向该文件添加恶意 JavaScript。

例如,在 www.example.com 上,有一个名为 happypuppy.php 的恶意文件(之前已在 .htaccess 文件中识别出来)被植入到了该网站上的某个文件夹中 。不过,黑客还通过向该文件中添加恶意代码的方式损坏了一个名为 json2.min.js 的合法 JavaScript 文件。以下是已遭损坏的 json2.min.js 文件的示例:




为了有效地找出恶意文件,您需要了解您网站上 JavaScript 和 PHP 文件的功能。您可能需要查阅 CMS 文档以获取相关帮助。在了解了这些文件的作用后,您就可以更轻松地找出那些不属于您网站的恶意文件。

此外,请检查您的网站中是否有最近刚被修改过的文件。您应彻查所有最近刚被修改过的模板文件。您可在“附录”中找到相应工具,来帮助您解读内容已被混淆的 PHP 文件。

移除恶意内容
如前文所述,在您移除或修改任何文件之前,请先对您网站上的内容进行适当备份。如果您定期地对网站进行备份,那么清理网站就可能会和恢复使用未遭入侵的备份版本一样简单。

不过,如果您没有定期地对网站进行备份,则需要执行以下操作。首先,删除已被植入到您网站中的任何恶意文件。例如,在 www.example.com 上,您便需要删除 happypuppy.php 文件。对于已遭损坏的 PHP 或 JavaScript 文件(如 json2.min.js),您则需要将这些文件未遭入侵的版本上传到您的网站。如果您使用 CMS,不妨考虑在您的网站上重新加载核心 CMS 和插件文件的全新副本。

找出和修复漏洞
在移除恶意文件后,您需要找出并修复导致您的网站遭受攻击的漏洞,否则您的网站将会面临再次遭到黑客攻击的风险。漏洞可能是任何内容(包括被盗的密码、过时的网络软件,等等)。请参阅 Google 网站站长帮助(恢复被黑客入侵的网站) ,了解如何找出和修复漏洞。如果您无法找出导致网站遭受攻击的漏洞,那么您应更改所有登录凭据的密码、更新所有的网络软件并认真考虑获取更多帮助以确保您的网站一切正常。

后续步骤
在清理完网站后,请使用“Google 抓取方式”工具来检查 Google 是否 仍会看到 被黑网页。另外,也不要忘记检查您的首页是否存在被黑内容。如果被黑内容均已消失,那么恭喜您,您的网站应该是安全无虞了!如果“Google 抓取方式”工具仍然在这些被黑网页上找到了被黑内容,那么您还需继续解决问题。请再次检查您是否遗漏了任何恶意 PHP 或 JavaScript 文件。

当确信自己已全面清理了网站并已妥善修复了漏洞之后,您即可使自己的网站重新在线。如果您的网站上有 手动操作 ,您将需要在 Search Console 中提交 重新审核请求 。另外,也请考虑如何防止您的网站日后再次遭到入侵。您可以访问 Google 网站站长帮助(专门针对被黑客入侵的网站) ,详细了解如何防止您的网站日后再次遭到攻击。

我们希望,在这篇博文的帮助下,您已更加清楚如何在网站被植入乱码网址后进行修复。请一定使用 #nohacked 标签关注我们的社交宣传活动,并分享您关于如何确保自己的网络内容安全无虞的提示或技巧。

如果您有任何其他问题,请在 网站站长帮助论坛 中发帖提问。在那里,众多的网站站长同行会为您答疑解惑。此外,您还可以参加我们将于 8 月 26 日举办的 关于“安全”的 环聊直播

附录
这些工具可能会对您有所帮助。但是,Google 不会运行或支持这些工具。
P HP 解码器 UnPHP 黑客通常会歪曲 PHP 文件以使其更不易解读。请使用这些工具清理 PHP 文件,以便您更好地了解 PHP 文件的作用。