本指南专门针对一种会向您的网站添加包含大量关键字的乱码网页的黑客攻击方法(我们将其称为“伪装关键字和链接”黑客攻击)而设计。本指南面向热门内容管理系统 (CMS) 的用户,但即使您不使用 CMS,也会发现本指南很有用。
我们希望确保本指南对您确实有帮助。 提供反馈,帮助我们改进!
识别此类黑客攻击
伪装真实内容的关键字和链接黑客行为会使用无意义的文字、链接和图片自动创建很多网页。这些网页有时会包含原网站的基本模板元素,因此乍看之下,此类网页似乎是您网站的正常部分,但一旦您阅读了其中的内容,则会发现并非如此。
被入侵的网页旨在操纵 Google 的排名因素。黑客通常会尝试通过将被黑网页上的链接出售给不同的第三方来创收。被入侵的网页通常还会将访问者重定向到黑客可以通过之赚取收入的无关网页。
首先,请查看 Search Console 中的安全问题工具,看看 Google 是否在您的网站上发现了任何被入侵的网页。有时,您还可以打开 Google 搜索窗口,然后输入 site:_your site url_
和您网站的根级网址,以便找到此类网页。这会显示 Google 为您的网站编入索引的网页,包括遭到入侵的网页。翻阅几页搜索结果,看看是否发现了任何不寻常的网址。如果您在 Google 搜索中没有看到任何被入侵的内容,请使用其他搜索引擎并输入相同的搜索字词。示例如下:
通常,当您点击指向已被入侵网页的链接时,会被重定向到其他网站,或者看到一个充斥着乱码内容的页面。不过,您可能还会看到一条消息,提示网页不存在(例如 404 错误)。请勿上当!黑客会尝试欺骗您,让您以为网页已被移除或已修复,但实际上该网页仍处于被入侵状态。他们会通过伪装内容来实现这一点。在网址检查工具中输入您网站的网址,检查是否存在欺骗行为。借助“Google 抓取方式”工具,您可以查看底层隐藏内容。
如果您发现这些问题,则表明您的网站很可能已受到此类黑客入侵的影响。
修复黑客攻击
开始之前,请先为要移除的所有文件创建离线副本,以备日后需要恢复这些文件时使用。更好的是,在开始清理流程之前备份整个网站。为此,您可以将服务器上的所有文件保存到服务器之外的位置,也可以为您的特定内容管理系统 (CMS) 搜索最佳备份选项。如果您使用的是 CMS,请同时备份数据库。
检查 .htaccess
文件(3 步)
伪装真实内容的关键字和链接黑客行为会使用您的 .htaccess
文件在您的网站上自动创建伪装网页。在 Apache 官方网站上熟悉 .htaccess
基础知识有助于您更好地了解黑客攻击对您的网站有何影响,但这并非必需。
第 1 步
在您的网站上找到 .htaccess
文件。如果您不确定在哪里可以找到该文件,并且您使用的是 WordPress、Joomla 或 Drupal 等 CMS,请在搜索引擎中搜索“.htaccess 文件位置”以及 CMS 的名称。根据您的网站,您可能会看到多个 .htaccess
文件。列出所有 .htaccess
文件位置。
第 2 步
打开 .htaccess
文件以查看文件中的内容。查找如下所示的一行代码:
RewriteRule (.*cj2fa.*|^tobeornottobe$) /injected_file.php?q=$1 [L]
此行中的变量可能会变化。cj2fa
和 tobeornottobe
可以是字母或字词的任意组合。重要的是,要找出此行中引用的 .php
。
记下 .htaccess
文件中提到的 .php
文件。在此示例中,.php
文件名为 injected_file.php
,但在实际情况下,文件名不会如此明显。通常是一组随机的无害字词,例如 horsekeys.php
或 potatolake.php
。这可能是一个恶意 .php
文件,我们稍后需要跟踪并移除它。
第 3 步
将所有 .htaccess
文件替换为干净或默认版本的 .htaccess
文件。通常,您可以通过搜索“默认的 .htaccess
文件”和 CMS 的名称来找到默认版本的 .htaccess
文件。对于包含多个 .htaccess
文件的网站,请找到每个文件的干净版本,然后执行替换。
如果不存在默认的 .htaccess
,并且您从未在自己的网站上配置过 .htaccess
文件,那么您在网站上找到的 .htaccess
文件可能是恶意的。为以防万一,请离线保存 .htaccess
文件的副本,并将其从您的网站中移除。
查找并移除其他恶意文件(5 步)
识别恶意文件可能很棘手且耗时。请仔细检查您的文件。如果您尚未备份网站上的文件,现在是时候备份了。在 Google 上搜索“备份网站”和您的 CMS 名称,找到有关如何备份网站的说明。
第 1 步
如果您使用 CMS,请重新安装 CMS 默认发行版中包含的所有核心(默认)文件,以及您可能添加的所有内容(例如主题、模块、插件)。这有助于确保这些文件不含被入侵的内容。您可以使用 Google 搜索“重新安装”和您的 CMS 名称,找到重新安装说明。如果您有任何插件、模块、扩展程序或主题,请务必一并重新安装。
第 2 步
首先,查找您之前在 .htaccess
文件中标识的 .php
文件。根据您访问服务器上文件的方式,您应该可以使用某种类型的搜索功能。搜索恶意文件名。如果您找到了此类代码,请先创建一个备份副本并将其存储在其他位置(以备日后需要时恢复),然后从您的网站中将其删除。
第 3 步
查找是否还有任何恶意文件或被入侵的文件。您可能已在前两个步骤中移除所有恶意文件,但最好完成以下几个步骤,以防您的网站上还有其他被入侵的文件。
不要因为认为自己需要打开并仔细查看每个 PHP 文件而感到不知所措。首先,创建要调查的可疑 PHP 文件列表。您可以通过以下几种方法确定哪些 PHP 文件可疑:
- 如果您已重新加载 CMS 文件,请仅查看不属于默认 CMS 文件或文件夹的文件。这应该会排除许多 PHP 文件,只留下少数几个文件供您查看。
- 按最后修改日期对网站上的文件进行排序。查找在您首次发现网站遭到入侵后的几个月内被修改的文件。
- 按大小对网站上的文件进行排序。查找是否有任何异常大的文件。
第 4 步
列出可疑 PHP 文件后,请检查这些文件是否具有恶意。 如果您不熟悉 PHP,此过程可能需要更多时间,因此不妨查看一些 PHP 文档。如果您是编码纯新手,建议您寻求帮助。与此同时,您可以通过查找一些基本模式来识别恶意文件。
如果您使用的是 CMS,并且不习惯直接修改这些文件,请将服务器上的文件与 CMS 以及所有插件和主题随附的默认文件列表进行比较。查找不属于该文件夹的文件,以及大于其默认版本的文件。
首先,扫描您已识别出的可疑文件,查找包含看似杂乱无序的字母和数字组合的大段文本。大段文本通常位于 PHP 函数组合(例如 base64_decode
、rot13
、eval
、strrev
或 gzinflate
)之前。以下示例展示了该代码块可能的样子。有时,所有这些代码都会塞入一行长文本中,看起来比实际要小。
// Hackers try to confuse webmasters by encoding malicious code into
// blocks of text. Be wary of unfamiliar code blocks like this.
base64_decode(strrev("hMXZpRXaslmYhJXZuxWd2BSZ0l2cgknbhByZul2czVmckRWYgknYgM3ajFGd0FGIlJXd0Vn
ZgknbhBSbvJnZgUGdpNHIyV3b5BSZyV3YlNHIvRHI0V2Zy9mZgQ3Ju9GRg4SZ0l2cgIXdvlHI4lmZg4WYjBSdvlHIsU2c
hVmcnBydvJGblBiZvBCdpJGIhBCZuFGIl1Wa0BCa0l2dgQXdCBiLkJXYoBSZiBibhNGIlR2bjBycphGdgcmbpRXYjNXdmJ2b
lRGI5xWZ0Fmb1RncvZmbVBiLn5WauVGcwFGagM3J0FGa3BCZuFGdzJXZk5Wdg8GdgU3b5BicvZGI0xWdjlmZmlGZgQXagU2ah
1GIvRHIzlGa0BSZrlGbgUGZvNGIlRWaoByb0BSZrlGbgMnclt2YhhEIuUGZvNGIlxmYhRWYlJnb1BychByZulGZhJXZ1F3ch
1GIlR2bjBCZlRXYjNXdmJ2bgMXdvl2YpxWYtBiZvBSZjVWawBSYgMXagMXaoRFIskGS"));
有时,代码并不混乱,看起来就像普通脚本一样。如果您不确定代码是否有问题,请访问我们的网站站长帮助论坛,那里有一群经验丰富的网站站长可以帮助您检查文件。
第 5 步
现在,您已经知道哪些文件可疑了。为防止其中某个文件并非恶意文件,请将其保存到计算机上以创建备份或本地副本,然后从您的网站中删除可疑文件。
检查您的网站是否干净
清除被入侵的文件后,请检查您的努力是否有成效。还记得您之前发现的那些乱码页面吗?请再次使用“Google 抓取方式”工具检查这些网页,看看它们是否仍然存在。如果 Fetch as Google 的回答是“未找到”,则表示您的网站很可能没有问题,您可以继续修复网站上的漏洞。
如何防止再次遭到入侵?
修复网站上的漏洞是修复网站的最后一步,至关重要。最近的一项研究发现,20% 的被黑网站会在一天内再次遭到入侵。了解网站遭到入侵的具体方式非常有用。请参阅我们的垃圾内容发布者最常用的网站入侵方法指南,开始调查。不过,如果您无法确定自己的网站是如何被黑客入侵的,请参考以下核对清单,采取相应措施来减少网站的漏洞:
- 定期扫描计算机:使用任何流行的杀毒软件检查是否存在病毒或漏洞。
- 定期更改密码:定期更改您所有网站账号(例如托管服务提供商、FTP 和 CMS)的密码,可以防止未经授权的访问。请务必为每个账号设置安全系数高的专用密码。
- 使用双重身份验证 (2FA):不妨考虑为需要您登录的任何服务启用 2FA。借助两步验证,即使黑客成功盗取了您的密码,也更难登录。
- 定期更新 CMS、插件、扩展程序和模块:希望您已完成此步骤。许多网站之所以遭到入侵,是因为它们运行的是过时的软件。某些内容管理系统支持自动更新功能。
- 考虑订阅安全服务来监控您的网站:市场上有很多优质服务,只需支付少量费用即可帮助您监控网站。建议您向这些组织注册,以确保您的网站安全无虞。
其他资源
如果您仍在尝试解决网站问题,以下几个资源可能对您有所帮助。
这些工具会扫描您的网站,或许能够找到存在问题的内容。 Google 不会运行或支持除 VirusTotal 以外的其他所有工具。
以上只是一些可能能够扫描您的网站以查找有问题的内容的工具。请注意,这些扫描器无法保证能识别出所有类型的问题内容。
下面是 Google 提供的可为您提供帮助的其他资源: