恶意攻击者最常用的策略之一是将恶意重定向恶意软件添加到站点,以将流量驱动到另一个站点。这不仅对网站所有者不利,而且对网站访问者也不利。恶意重定向通常会将毫无戒心的站点访问者带到垃圾邮件站点,甚至可能会用难以消除的恶意软件感染用户计算机的站点。
在这篇文章中,北京六翼信息技术有限公司的开发工程师就什么是恶意重定向恶意软件、黑客为何使用这种策略、如何确定您的网站是否受到此恶意软件的影响以及从恶意重定向恶意软件的影响中恢复您的网站的一些可能解决方案。
此外,我们将概述一些重要步骤,以确保您的站点在恢复后仍然受到保护。
什么是恶意重定向恶意软件?
恶意重定向是一种代码,通常是 Javascript,它被插入到一个网站中,目的是将网站访问者重定向到另一个网站。通常,这种恶意软件会被攻击者添加到 WordPress 网站,目的是在另一个网站上产生广告印象。但是,一些恶意重定向可能会产生更严重的影响。更严重的恶意重定向可以利用站点访问者计算机中的潜在漏洞。这种类型的恶意软件旨在安装感染个人计算机的恶意软件,这些恶意软件会对用户的 Mac 或 Windows 计算机造成极大的破坏。
确定您的网站是否被感染
网站所有者可能不知道他们的网站正在重定向。通常,恶意重定向是隐藏的,因此只有未经身份验证(未登录的用户)才会被重定向。或者,它可能会检测用户在访问网站时使用的浏览器,并仅使用该特定浏览器进行重定向。例如,如果他们的目标是使用只能感染易受攻击的 Chrome 版本的恶意软件来利用个人计算机,那么只有那些使用恶意脚本检测到的那个版本的人才会被重定向。可能需要进行一些调查才能确定发生了什么。
网站所有者可能会尝试复制客户报告的重定向,结果却发现在他们的计算机上一切正常。移动平台上的网站访问者可能同时遇到恶意活动。重定向可能发生在某些页面上而不是其他页面上。或者,它甚至可能在网站加载之前发生。
为什么我的 WordPress 网站会重定向到另一个网站?
如果您的站点正在重定向,攻击者可以使用几种方法来创建重定向。当然,这些都是创建重定向的非常有效的方法,但是,在恶意情况下,这些绝对不符合站点访问者的最佳利益。以下是攻击者用来重定向的一些方法。重定向的主要方法包括 .htaccess 重定向或 Javascript 重定向。在极少数情况下,您可能会找到 HTTP 标头(例如,META HTTP-EQUIV=REFRESH 重定向),但这种情况很少见。在许多情况下,重定向被混淆了,这意味着函数被用来隐藏代码的真实意图。这种混淆通常是出现问题的第一个关键,但攻击者打赌大多数 WordPress 网站所有者会被混淆吓到,不想深入挖掘。
重定向感染的确切位置在哪里?
黑客会在多个区域插入他们的恶意代码可以导致 WordPress 重定向被黑客攻击发生。
1.PHP文件
攻击者可以通过将代码插入任何WordPress 核心文件来感染您的站点。以下是一些可能包含导致您出现问题的恶意代码的文件:
攻击者可以通过在 WordPress 的任何核心文件中注入代码来感染该网站。检查这些文件中的恶意代码。如果您不确定哪些代码是恶意代码,哪些不是,您可以随时将这些文件与 WordPress 核心或您的主题和插件文件的已知良好副本进行比较
l joowp.com
l index.php
l wp-config.php
l wp-settings.php
l wp-load.php
l .htaccess
l Theme files (wp-content/themes//)
n header.php
n functions.php
n footer.php
2.JavaScript 文件
某些重定向恶意软件的变体会影响您网站上的所有 JavaScript (.js) 文件。这将包括插件、主题文件夹和 wp-includes 中的 Javascript 文件。
通常,相同的恶意代码会添加到每个 JavaScript 文件的最顶部或底部。
3..htaccess 文件
您的 .htaccess 文件是一组指令,告诉您的网络服务器在收到站点访问者的请求后立即做什么。它在 PHP 之前参与,在对您的数据库进行任何调用之前,它可以检测某些“环境变量”,这些“环境变量”告诉您的服务器一些关于用户所在系统的信息,例如他们的浏览器、计算机类型,即使请求您网站的页面来自搜索引擎抓取工具。
如果您不熟悉普通WordPress .htaccess 文件的外观,.htaccess 中的大部分代码可能会令人困惑。而且,如果您将 .htaccess 文件下载到您的硬盘驱动器以进行更深入地查看,它通常会在您身上消失,因为许多个人计算机将此文件类型视为“隐藏文件”。
将恶意代码添加到 .htaccess 文件中的非常常见的Pharma hack通常只会重定向来自搜索引擎结果页面的网站访问者。
黑客将他们的恶意代码以一种您无法找到的方式放置在文件中,除非您向右滚动很远。这使得发现和删除这些重定向黑客变得更加困难。
3. WordPress数据库
wp_options 和 wp_posts 表通常是WordPress 数据库中的表,黑客将其作为插入恶意重定向的目标。Javascript 代码可以嵌入您的每个帖子甚至所有帖子中。如果重定向隐藏在小部件中,您通常还可以在 wp_options 表中找到重定向。
4. 假 favicon.ico 文件
存在恶意软件,它会在您网站的服务器上创建一个随机的 .ico 文件或流氓 favicon.ico 文件,其中包含恶意的 PHP 代码。这些 .ico 文件将包含恶意重定向,然后将其包含在您网站上的另一个文件中。
@include “/home/sitename/sitename.com/cdhjyfe/cache/.2c96f35d.ico”;
快速从恶意重定向中恢复
如果您遭到恶意重定向攻击,从此类恶意软件中恢复得最快、最简单的方法是从已知良好的备份中恢复。如果您使用BackupBuddy定期备份您的网站,那么您知道您有一个包含您网站的良好副本的最新备份。从已知的良好备份恢复您的网站是让您的网站快速恢复和运行的绝佳方式。
当然,如果您运行的站点的内容经常更改,那么防止恶意重定向的最佳方法就是做好最近的备份和入侵检测,这样您就可以迅速收到问题警报。通过这种方式,您可以快速采取行动并最大限度地减少停机时间。
当然,您还必须查看访问日志以确定黑客是如何进入并进行重定向的。
关于附加域的说明
WordPress 网站被黑客入侵的最常见方式之一是来自未维护的附加域或在您的托管帐户中额外安装 WordPress。也许您设置了一个测试站点以查看某些东西是否可以在同一账户中运行,但您忘记了该安装。黑客发现它并利用未维护站点中的漏洞在您的主站点上安装恶意软件。或者,也许您将家人的网站也托管在同一空间以节省资金,但他们正在重复使用泄露的密码。
最好在一个主机账户中拥有一个 WordPress 站点,或者如果您在同一个主机账户中使用多个站点,请确保它们彼此隔离,并为每个站点使用不同的基于服务器的用户。这样,就不会发生从一个脆弱站点到另一个相邻站点的交叉污染。
如果您的托管账户中确实有多个站点,则需要将在同一空间中运行的所有站点(例如,在 public_html 下运行的所有站点)视为它们都被恶意重定向恶意软件污染了。如果您确实有这样的情况,请确保为该托管实例中的每个站点完成这些步骤中的每一个。如果您不确定,请咨询您的托管服务提供商。
扫描您的网站以查找 WordPress 重定向黑客恶意软件
如果您没有最近的干净备份,您仍然可以自行删除恶意软件。这样做可能是一个乏味的过程,您需要寻找的不仅仅是重定向恶意软件。重定向恶意软件最常见的是伴随着其他恶意软件,包括后门程序和流氓管理员用户,您还需要确定黑客是如何进入的,通常称为“入侵向量”。不采取整体方法来清除恶意软件会确保重定向问题再次出现。
1.备份网站
是的,即使该站点已被感染,您仍希望保留所发生事件的证据。将任何黑客攻击视为犯罪现场,您会想知道发生了什么以及发生的时间。当您确定入侵是如何发生的时,文件时间戳将有助于您的调查,从而防止它再次发生。
2. 确定是否需要关闭网站
使用恶意重定向,您可能希望暂时关闭您的站点以进行维护。并非所有重定向都可以保证这一点,但如果您的网站重定向到一个可能损害用户计算机的地方,将网站关闭一段时间可以防止进一步的损害。
如果您认为黑客可能仍在该网站上活动(如果您不知道,请假设他们是),关闭该网站并使其无法访问可以防止进一步的破坏。
每种情况都会有所不同;您需要根据正在发生的事情做出决定。
3.将站点复制到本地驱动器
保留备份,将站点复制到本地驱动器。我们建议使用文本编辑器在本地驱动器上进行清理,并在本地比较并查看所有文件——从 PHP 和 Javascript 文件到 .htaccess 文件——在 Internet 无法访问的本地情况下。这样,您就有了一个检查文件的受控环境。您可以下载 WordPress 的全新副本、您的主题和您的插件,并将文件与您的被黑站点进行比较,以查看哪些文件被更改,哪些文件根本不属于。您可以使用许多文件比较工具。
4.删除重定向和隐藏的后门
当您查看文件时,您可以将其中包含恶意软件的文件替换为已知完好的副本,或者如果您愿意这样做,您可以删除不应该存在的文件(通常是后门)和代码行那不应该与文本编辑器一起存在。
检查您的 /wp-content/uploads 目录和所有不应存在的 PHP 文件的子目录。
有些文件将不同于您从 WordPress.org 存储库下载的任何文件。这些文件包括您的 .htaccess 文件和 wp-config.php 文件。这些将需要仔细检查是否有任何错误的恶意代码。两者都可以包含重定向,并且 wp-config.php 文件可以包含后门。
5.将清理后的文件上传到您的服务器
要立即清除所有恶意软件,防止访问被黑站点上活动的任何后门,请将清理后的站点上传到与被黑站点相邻的位置。例如,如果您被黑的网站位于 /public_html/ 下,则将您的干净网站上传到它旁边的 /public_html_clean/。在那里,将实时 /public_html/ 目录重命名为 /public_html_hacked/ 并将 /public_html_clean/ 重命名为 public_html。如果您选择在清理过程开始时不关闭站点,这只需要几秒钟,并且可以最大限度地减少停机时间。它还可以防止您通过与活跃的攻击者玩“打地鼠”游戏来尝试清理受到攻击的被黑网站。
现在文件已清理,您还有一些工作要做。仔细检查该站点在前端以及 wp-admin 中是否正常。
6.寻找恶意管理员用户
查找添加到您站点的任何恶意管理用户。前往 wp-admin > users 并仔细检查所有管理员用户是否有效。
7.更改所有管理密码
考虑所有管理员账户都受到威胁并为所有账户设置新密码。
8. 防止恶意注册
前往 wp-admin > settings > general 并确保禁用名为“Anyone Can Register”的“Membership”设置。如果您需要用户注册,请确保“新用户默认角色”仅设置为订阅者,而不是管理员或编辑。
9. 在数据库中搜索任何恶意链接
手动搜索您的 WordPress 数据库以查找恶意 PHP 函数,其方式与查找文件系统中的问题的方式类似。为此,请登录 PHPMyAdmin 或其他数据库管理工具并选择您的站点正在使用的数据库。
然后搜索以下术语:
l 评价
l 脚本
l Gzinflate
l Base64_解码
l str_replace
l preg_replace
在更改数据库中的任何内容之前要格外小心。即使是非常小的更改,例如不小心添加了一个空格,也可能导致您的网站崩溃或无法正常加载。
10.保护网站
因为发生了入侵,您需要假设与您的站点相关的所有内容都已受到损害。在您的托管账户面板中更改您的数据库密码,并在您的 wp-config.php 文件中更改凭据,以便您的 WordPress 站点可以登录到您的 WordPress 数据库。
此外,更改您的 SFTP/FTP 密码,甚至更改您的 cPanel 或主机账户的密码。
11.检查谷歌问题
登录到您的 Google Search Console,看看您是否有任何恶意网站警告。如果是这样,请查看它们以查看您的修复是否已解决问题。如果是这样,请求审查。
12.更新或删除任何易受攻击的软件
如果您有任何需要更新的软件、主题、插件或核心,请立即更新。如果您使用的插件中存在尚未修补的漏洞,请停用并从您的站点中完全删除该软件。
此时,如果您已锁定您的网站,您可以删除维护通知以使您的网站再次可访问。
关于WordPress建站的问题,欢迎留言讨论,关注“六翼开源”专注WordPress建站服务。