上一讲主要介绍了识别日语关键字黑客行为,这一讲给出一个解决日语关键词黑客入侵的方法。
解决黑客入侵问题
开始前,请先为您要移除的任何文件创建备份,以备日后需要恢复这些文件时使用。在开始执行清理流程之前,好先备份您的整个网站。为此,您可以将您服务器上的所有文件保存到服务器之外的位置,或搜索适合您的特定内容管理系统 (CMS) 的备份选项。如果您使用了内容管理系统,则还应该备份相应的数据库。
从 Search Console 中移除新建的帐号
如果有人向您的 Search Console 帐号中添加了您不认识的新所有者,请尽快撤消他们的访问权限。您可以在 Search Console 验证页上检查您网站的哪些用户通过了验证。点击此网站的“验证详情”即可查看所有已通过验证的用户。
要从 Search Console 中移除所有者,请参阅管理用户、所有者和权限这篇帮助中心文章的“移除所有者”部分。您需要移除相关联的验证令牌(通常是您网站的根目录上的 HTML 文件或动态生成的模仿 HTML 文件的 .htaccess 文件)。
如果您在网站上找不到 HTML 验证令牌,请检查 .htaccess 文件中是否存在重写规则。该重写规则如下所示:
RewriteEngine On
RewriteRule ^google(.*)\.html$ dir/file.php?google=$1 [L]
注意:您通常可以转到模拟的验证令牌文件(例如 wwww.example.com/google[random number and letters].html
),以检查您是否成功移除了动态生成的验证令牌。例如,如果您的网站是 www.brandonsbaseballcards.com,则尝试转到 www.brandonsbaseballcards.com/google1234.html。如果该网页返回了 HTTP 404,这说明动态生成的验证令牌可能已修复。
要从 .htaccess 文件中移除动态生成的验证令牌,请按以下步骤操作。
检查 .htaccess 文件(共 2 步)
除了使用 .htaccess 文件创建动态生成的验证令牌之外,黑客还经常使用 .htaccess 规则将用户重定向到或创建乱码垃圾内容网页。除非您有自定义的 .htaccess 规则,否则请考虑将 .htaccess 替换为全新的副本。第 1 步
查找您网站上的 .htaccess 文件。如果您不确定在哪里可以找到此文件,并且您使用了 WordPress、Joomla 或 Drupal 等内容管理系统,请在搜索引擎中同时搜索“.htaccess 文件的位置”以及您的内容管理系统的名称。您可能有多个 .htaccess 文件,具体取决于您的网站。然后,列出所有 .htaccess 文件的位置。第 2 步
将所有 .htaccess 文件替换为相应 .htaccess 文件的未遭入侵版本或默认版本。您通常可以通过同时搜索“默认 .htaccess 文件”和您的内容管理系统的名称来查找 .htaccess 文件的默认版本。对于拥有多个 .htaccess 文件的网站,请查找每个文件的未遭入侵版本并进行替换。
注意:.htaccess 通常是“隐藏文件”。请确保您在搜索此类文件时启用了显示隐藏文件选项。
移除所有恶意文件和脚本(共 4 步)
识别恶意文件可能会有些棘手,并且可能需要几个小时才能完成。在检查文件时请不要着急。如果您尚未备份网站上的文件,这便是个好时机。您可以在 Google 搜索中同时搜索“备份网站”以及您的内容管理系统的名称,以查找有关如何备份网站的说明。第 1 步
如果您使用了内容管理系统,请重新安装此内容管理系统的默认分发中附带的所有核心(默认)文件。这样有助于确保这些文件中不含被黑内容。您可以在 Google 搜索中同时搜索“重新安装”以及您的内容管理系统的名称,以查找有关重新安装流程的说明。如果您有任何插件、模块、扩展程序或主题背景,请确保您也重新安装了这些内容。
如果您直接修改过核心文件,则重新安装这些文件可能会导致您所做的任何自定义设置丢失。请务必先为您的数据库和所有文件创建备份,然后再重新安装。第 2 步
黑客通常会修改您的站点地图或添加新的站点地图,以便使他们的网址更快速地编入索引。如果您之前有站点地图文件,请检查此文件是否存在任何可疑链接,并将其从站点地图中移除。如果存在任何您不记得向网站添加过的站点地图文件,请仔细检查;如果其中只包含垃圾内容网址,请将其移除。第 3 步
查找任何剩余的恶意或遭到入侵的文件。您可能在前两个步骤中已经移除了所有的恶意文件,但我们仍建议您执行下面这几个步骤,以免网站上仍然存留遭到入侵的文件。
不要由于认为需要打开并查看每个 PHP 文件而感到太大压力。首先,请创建一个您想要调查的可疑 PHP 文件的列表。以下几种方法可用于确定哪些 PHP 文件可疑:
- 由于您已经重新加载了内容管理系统文件,所以您只需查看不包含在默认内容管理系统文件或文件夹范围内的文件。这样应该可以排除大量 PHP 文件,并只需检查少数文件。
- 按后修改日期对网站上的文件进行排序。查找在您发现网站遭到入侵后的几个月内遭到修改的文件。
- 按大小对网站上的文件进行排序。查找是否有任何异常大的文件。
注意:攻击者通常会向以下文件注入脚本:index.php、wp-load.php、404.php 以及 view.php。第 4 步
创建好可疑 PHP 文件的列表之后,请检查这些文件是否可疑。如果您对 PHP 文件不熟悉,该流程可能会消耗更多时间,因此不妨重温一些 PHP 文档。如果您是刚开始接触编码,建议您获取帮助。与此同时,您可以通过一些基本模式来查找恶意文件。
如果您使用了内容管理系统,并且没有直接修改相关文件的习惯,则将您服务器上的文件与相应内容管理系统及任何插件和主题背景的默认文件列表进行比较。查找不包含在列表内的文件,以及大小似乎比默认版本更大的文件。
扫描您已经找到的可疑文件,以查找迷惑性的代码块。这种代码块可能看起来像看似混乱的字母和数字组合。迷惑性代码的前面通常是 PHP 函数组合(例如 base64_decode、rot13、eval、strrev、gzinflate),不过有时甚至这些函数都具有迷惑性。下面是此类代码块的一个示例。有时,所有此类代码会被填充到一长串文本中,使其看起来小于实际大小:
$O_O0O_O0_0=urldecode("%6E1%7A%62%2F%6D%615%5C%76%740%6928%2D%70
%78%75%71%79%2A6%6C%72%6B%64%679%5F%65%68%63%73%77%6F4%2B%6637%6A");
$OO0_0OO0__=$O_O0O_O0_0{26}.$O_O0O_O0_0{6}.$O_O0O_O0_0{10}.$O_O0O_O0_0{30}
检查您的网站是否已清理干净
删除被黑文件之后,请检查您的辛苦工作是否已见成效。还记得您早先发现的那些乱码网页吗?再次使用“Google 抓取工具”检查这些网页,看它们是否仍然存在。如果它们在“Google 抓取工具”中的结果是“未找到”,则说明您的网站很可能处于良好状态!
这一讲到此结束,下一讲主要介绍:如何防止再次遭到入侵?