WordPress 感染了 Pharma Hack?如何检测、清理和保护您的网站
什么是 Pharma hack
几年前,我有一个客户希望我从他们的 WordPress 网站上删除一个页面。关于药房产品的页面。我搜索了帖子、页面、自定义帖子类型或我能想到的任何其他内容,我花了几天时间向客户保证他们的 WordPress 网站上不存在这样的页面或帖子。
他们痛苦地坚持说他们在谷歌上查看他们网站的搜索结果时找到了一个页面。我自己检查了结果,令我惊讶的是发现了他们提到的页面。该页面链接到另一个在线销售药物的域,但 URL 来自我客户的站点。我想:“这可能是谷歌的错误,对吧?”。
错误的! 这是制药黑客。
[](https://res.cloudinary.com/practicaldev/image/fetch/s--dE6CvtsG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://img.bitofwp.com/ wp-content/uploads/2019/04/Pharma-Hack.png)
那么,Pharma Hack 到底是什么? WordPress Pharma Hack 是一种垃圾邮件注入方法。其目的是将访问者从其他合法网站重定向到销售违禁药物(如伟哥、西力士、Nexium 等)或通常提供处方药的药房供应商网站——无需处方。
它非常微妙——您可以将其视为一种寄生虫,它以网站上排名最高的页面为食,旨在获得有价值的链接。您和您的访问者不会看到它,它不会导致任何明显的故障,而且我还没有听说这样的黑客导致网站崩溃。听起来几乎是无害的。
但那是因为它是一种聪明的寄生虫——它需要一个活着的宿主,并且不想引起任何怀疑和被注意到。因为它是如此低调,它通常在网站所有者注意到它并将其移除之前在幕后工作数月和数月。如果没有正确删除,它也很可能会回来。它会慢慢降低你的搜索引擎优化和声誉,让你在谷歌上被列入黑名单,并且可能会花费你一些(或很多)钱。不是那么无害,是吗?
如何判断您的 WordPress 网站是否被 Pharma Hack 感染?
1\。使用 Google 的高级搜索运算符
由于黑客对你来说是不可见的,你必须求助于一种工具来帮助你揭露它——搜索引擎。您应该做的是打开 Google.com 并搜索您的域名(只需输入即 domain.com)或使用 Google 高级搜索运算符,如“site:yourdomain.com”、“inurl:yourdomain.com”、等等
如果您使用“ site:yourdomain.com ”运算符,Google 将列出您的所有索引页面。一些结果可能包括这样的 Pharma Hack 链接:
[](https://res.cloudinary.com/practicaldev/image/fetch/s--HELWPRml--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://img.bitofwp.com/ wp-content/uploads/2019/04/pharmaHack2.png)
如果您想更具体,可以使用“inurl:yourdomain.com viagra”启动搜索(当然,您应该将“yourdomain.com”替换为您自己的域名,您也可以搜索其他药物名称)。
在此页面中,您可以找到有关如何使用 Google 高级搜索运算符的说明。
2\。以 Googlebot 的身份获取页面
页面仅在搜索引擎上可见的原因是 Pharma Hack 仅对某些用户代理可见,例如 Googlebot。这意味着即使您在 Google 上找到了重定向到药房供应商网站的页面,即使您正在查看页面源代码,您也无法看到该黑客攻击,因为您的浏览器具有不同的 User-Agent 字符串。
为了像 Googlebot 一样查看页面,您需要一个浏览器Chome User-Agent Switcher或Firefox User-Agent Switcher插件。
安装您最喜欢的浏览器 User-Agent Switcher 插件后,您应该导航到在 Google 搜索结果中显示为被黑的页面。然后,将需要编辑 User-Agent 字符串,如下所示:
[](https://res.cloudinary.com/practicaldev/image/fetch/s--1wzgG4c0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://img.bitofwp.com/ wp-content/uploads/2019/04/UserAgentSwitcher.png)
用户代理字符串需要更改为以下值之一:
-
Mozilla/5.0(兼容;Googlebot/2.1;+http://www.google.com/bot.html)
-
Googlebot/2.1(+http://www.googlebot.com/bot.html)
-
Googlebot/2.1(+http://www.google.com/bot.html)
完成后,只需查看页面源代码,您就可以看到重定向到药房供应商网站:
[](https://res.cloudinary.com/practicaldev/image/fetch/s--U4uAR5KV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://img.bitofwp.com/ wp-content/uploads/2019/04/redirectHack.png)
重要:不要让 User-Agent Switcher Add-on 处于活动状态。由于您将模仿 Googlebot,因此具有适当安全性的网站会注意到它并暂时或永久地阻止您。
[](https://res.cloudinary.com/practicaldev/image/fetch/s--VmqDUM8L--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://img.bitofwp.com/ wp-content/uploads/2019/04/block-300x229.png)
Pharma Hack 是如何工作的?
如前所述,您和您的访问者不会注意到网站上的任何变化。 Pharma Hack 将覆盖标题标签并将垃圾邮件链接插入页面内容。 此修改后的标题标签和垃圾邮件链接仅对搜索引擎和搜索引擎爬虫(如 Googlebot)可见。这种方法称为**cloaking**。
Pharma Hack 的代码隐藏在哪里?
与大多数 WordPress 黑客一样,Pharma 黑客正在使用您的网站核心、插件和主题文件来存储其恶意软件。在这种情况下,Pharma Hack 也使用数据库来保持持久性。
通过 WordPress 默认目录(核心、插件、主题)中的恶意文件
恶意文件必须放在您的 WordPress 目录中。它们通常包含诸如base64_decode()
和eval()
等函数。从这个意义上说,Pharma Hack 与任何其他 hack 没有什么不同。
通过WordPress数据库中的加密代码
不同的是,使用 Pharma Hack,这些函数以字符串的形式存储在数据库中并反向编码,从而使其更难查找和消除。当 hack 文件运行时,它会从数据库中提取字符串,对它们进行解码并将它们作为函数运行。
例如,看看这个:
JHBoYXJtYWhhY2sgPSanVGhpcyBpcyBwaGFybWEgaGFjay4nOwplY2hvICRwaGFybWFoYWNrOwou003d
看起来像乱码,但是当使用 base64_decode() 函数解码时,它变成:
<?php $pharmahack = 'This is pharma hack.'; echo $pharmahack; ?>
当然,我编写的代码是无害的,不会做任何事情,但任何恶意软件代码可能看起来都一样,就像字母数字字符的随机字符串,但实际上在您的网站上设置了重定向,可能会将您的下一位访问者带到提供非处方普萘洛尔的页面。
如何删除 Pharma Hack
如前所述,Pharma Hack 由两部分组成,提供后门访问的 hack 文件和数据库中的加密代码。
为了正确删除 WordPress Pharma Hack,您必须同时处理这两个问题。 彻底。如果任何文件保留在服务器上,再次感染是不可避免的,你又回到了原点。
在使用 WordPress 网站之前,请确保备份 WordPress 文件(核心文件、主题和插件)和数据库,以便在出现问题时恢复它。
提示:如果您不熟悉使用 FTP 连接到您的服务器(或至少像 cPanel 上的文件管理器),甚至更重要的是,如果您不熟悉 phpMyAdmin,我强烈建议您不要按照以下说明进行操作。在这种情况下,我建议通过我们的恶意软件删除服务提交Pharma Hacked Fix Request。
删除 WordPress 被黑文件
我不会撒谎——这是一份无聊的工作,但总得有人去做。您需要做的是检查插件和主题目录中的可疑文件。我希望您不是那些拥有适用于所有事物的插件并保留 12 个非活动主题以防万一的网站所有者之一。如果你是那个人,你就有几个小时,不,几天的时间来挖掘文件。
下面我们将展示一个检查和删除被黑文件的示例,您应该对所有 WordPress 站点核心文件、主题和插件重复该过程。
连接到您的托管服务器
您需要通过 FTP 连接到您的托管服务器或登录到 cPanel 并使用文件管理器(我将在下面的示例中使用)。
连接后,您需要确保选中“显示隐藏文件”选项:
[](https://res.cloudinary.com/practicaldev/image/fetch/s--Y-Ioew2i--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://img.bitofwp。 com/wp-content/uploads/2019/04/showHiddenFiles.png)
让我们导航到 Akismet 插件目录 - 转到“wp-content”->“插件”->“Akismet”。
[](https://res.cloudinary.com/practicaldev/image/fetch/s--_OTgmB0F--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://img.bitofwp.com/ wp-content/uploads/2019/04/Akismet-300x119.png)
查找流氓黑客和恶意软件文件
您应该注意的第一件事是命名约定。 hack 文件通常在中间有一个伪扩展名(如_.class_、.cache、.old),以试图模仿真正的插件文件。
[](https://res.cloudinary.com/practicaldev/image/fetch/s--mLml8fcH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://img.bitofwp.com/ wp-content/uploads/2019/04/malwareAkismet-300x201.png)
此外,除非启用了“显示隐藏文件”选项,否则文件名前的点(如“.htaccess”)将隐藏文件。这总是令人怀疑的原因。
为了确认,这些文件的内容应该是这样的:
< ? php $XZKsyG='as';$RqoaUO='e';$ygDOEJ=$XZKsyG.'s'.$RqoaUO.'r'.'t';$joEDdb ='b'.$XZKsyG.$RqoaUO.(64).'_'.'d'.$RqoaUO.'c'.'o'.'d'.$RqoaUO;@$ygDOEJ(@$j oEDdb('ZXZhbChiYXNlNjRfZGVjb2RlKCJhV1lvYVhOelpY...
如果您不确定该文件是否是插件的正版部分,您可以从 WordPress.org 下载插件的全新版本,并比较服务器上插件目录的内容和全新安装。
.htaccess 文件
.htaccess 文件也是检查的好地方。这是不应存在的代码示例:
RewriteEngine On RewriteCond %{ENV:REDIRECT_STATUS} 200 RewriteRule ^ - [L] RewriteCond %{HTTP_USER_AGENT} (google|yahoo|msn|aol|bing) [OR] #checks for Google, Yahoo, msn, aol and bing crawler RewriteCond %{HTTP_REFERER} (google|yahoo|msn|aol|bing) RewriteRule ^(.*)$ somehackfile.php?$1 [L] #redirects to a hack file
如果您看到这样的代码,最好将其删除。当然,您应该保存 .htaccess 文件的备份以防万一。如果您需要重新创建文件,只需转到您的 WordPress 仪表板,然后转到“设置”->“永久链接”并单击保存(您不必更改永久链接结构),.htaccess 文件将被重新生成。
扫描文件内容差异
这可能与某些具有大量文件的插件(如 JetPack)有关,因此您还可以使用Exploit Scanner或类似的安全插件来检查文件更改。 Exploit Scanner 插件将搜索通过WordPress 官方存储库分发的所有 WordPress 核心文件、第 3 方主题和插件,以及数据库的帖子和评论表中的可疑条目和异常文件名。缺点是 Exploit Scanner 插件会产生很多误报,因此您必须检查它输出的每一个结果,而它不适用于高级插件或自定义插件。
在您弄清楚哪些文件被黑客入侵并分发了恶意软件后,您应该立即将其删除。如果您发现了一个包含大量文件的被黑插件,删除整个插件并从头开始重新安装它可能更有效。大多数情况下,插件选项和设置都存储在您的站点数据库中,因此恢复默认插件文件不会对您造成伤害。
一旦你删除了所有被黑的 WordPress 文件,Pharma Hack symptoms 应该会消失,并且你网站的搜索结果会在几天后恢复正常(谷歌需要重新抓取你的网站以验证它是干净的)。但是,这并没有结束清理过程,因为您仍然需要处理数据库中的剩余代码。
请记住,如果留下任何黑客文件,您的 WordPress 网站迟早会被 Pharma Hack 重新感染。也就是说,让我们继续进行数据库清理。
从 WordPress 数据库中删除恶意代码
以下所有说明都涉及数据库操作,因此,创建数据库备份非常重要(如果您还没有这样做)
并严格按照说明进行操作,因为任何即兴创作都可能导致您的网站崩溃。
同样,如果您不习惯通过 phpMyAdmin 进行编辑,最好聘请专业人士或尝试我们的恶意软件删除服务。
登录phpMyAdmin
如果您使用带有 cPanel 的托管包,那么这是一个简单的步骤。您只需要单击“phpMyAdmin”图标:
[](https://res.cloudinary.com/practicaldev/image/fetch/s--PWAVyH5W--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://img.bitofwp.com/ wp-content/uploads/2019/04/cPanelPHP.png)
否则,您将需要一个 phpMyAdmin 登录 URL 、 username 和 password。您的托管服务提供商应该能够为您提供帮助。
选择正确的数据库
登录后,您需要选择正确的数据库,以确保您在正确的位置进行更改。
如果您有多个数据库,您可以检查 wp-config.php 文件并搜索数据库名称。它将在以下代码行中 -define('DB_NAME', 'yourdatabasename');
[](https://res.cloudinary.com/practicaldev/image/fetch/s--xSMAXzmV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://img.bitofwp.com/ wp-content/uploads/2019/04/wpconfigDB.png)
搜索恶意代码
现在您已经选择了正确的数据库,您需要导航到“wp_options”表(表前缀可能会有所不同,具体取决于安装 WordPress 网站后第一次设置的方式)。屏幕左侧应该有一个 WordPress 表格列表(您可以单击该条目或中间列表上的“浏览”按钮):
[](https://res.cloudinary.com/practicaldev/image/fetch/s--nAPjunNnf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://img.bitofwp.com/ wp-content/uploads/2019/04/searchPHPMyAdmin.png)
选择 wp_options 表后,您需要使用页面顶部的“搜索”选项卡来搜索恶意数据库条目。
[](https://res.cloudinary.com/practicaldev/image/fetch/s--lJ6kaNs2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://img.bitofwp.com/ wp-content/uploads/2019/04/phpmaSearch.png)
您需要通过在“option_name”字段中输入来搜索的条目如下:
-
wp_check_hash
-
类_通用_支持
-
小部件_通用_支持
-
ftp_credentials
-
fwp
-
rss_% 注意!在这种情况下,您应该删除除 rss_language、rss_use_excerpt 和 rss_excerpt_length(这些是合法的 WordPress 数据库条目)之外的所有匹配项。
密切注意不要从 wp_options 表中删除重要信息,因为这可能会产生错误甚至使您的 WordPress 站点崩溃。
如何验证您的 WP 网站是否干净
使用相同的搜索运算符重复 Google 搜索
从您的站点中删除被 WordPress 入侵的文件后,Google 上的搜索结果应该会正常化。然后,您应该重复 Google 搜索,使用高级搜索运算符检查是否有任何页面仍显示在结果中。
现在,如果一些 Pharma Hack 结果仍然出现,这不足为奇。 Google 已经将您的网站编入索引已有一段时间了,可能需要几天或几周的时间才能消除损坏。这也可能意味着服务器上仍然存在一些 hack 文件,因此您应该重复 Pharma Hack Cleanup 过程。
使用谷歌站长工具
[](https://res.cloudinary.com/practicaldev/image/fetch/s--QvvgH-TA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://img.bitofwp。 com/wp-content/uploads/2019/04/Webmaster-tools.png)
在完全删除 Pharma Hack 后,应使用 Google 网站管理员工具重新索引网站。索引状态和恶意软件选项可以显示该站点是否仍被标记为被 Google 感染。
如何扫描您的网站以查找 Pharma 被黑条目
有许多安全插件可以确定您的网站上是否存在恶意软件感染。如前所述,Pharma Hack 极难捕获,因此完全有可能被安全插件遗漏。
还有网站扫描仪,不同的公司免费提供。
如何强制 Google 重新索引您的 Pharma Hack 免费 WordPress 网站
提交新站点地图
站点地图包含您站点的所有页面和帖子的列表。提交站点地图可能会加快重新索引过程。如果您已经存在站点地图,请尝试将其删除并重新提交。这也将删除所有与制药相关的页面和 URL(如果有)。
Google 的删除过期内容工具
如果某些页面仍被 Pharma Hack 索引,则需要将它们提交删除。即使您的 WordPress 网站是_Pharma Hack free_,一些被黑的页面仍会显示在 Google 的搜索结果中。 Google 现在允许您通过 Remove Outdated Content tool 请求删除那些过时的网页。如果是这种情况,请复制 Google 搜索结果中显示的 URL,然后粘贴到工具中并要求删除。
如何保护网站以应对未来的黑客攻击
每一次成功(或不成功)的黑客攻击尝试都是从尝试利用网站上的弱点开始的。大多数情况下,恶意软件感染是可能的,因为使用过时或过时的软件,如过时的 WordPress 核心、主题和插件。定期更新是提高站点安全性的重要一步。
删除恶意软件后,您可能需要更改 FTP 凭据、删除未知用户并限制用户权限。实施安全插件并监控您的站点也是一个好主意。
我们建议您阅读我们关于 如何保护 WordPress 网站免受黑客攻击 的详细文章,这篇文章很长,但我们确信它将帮助您保护 WordPress 网站免受 Pharma 和恶意软件重定向等黑客攻击。
对所有 WordPress 网站重复 Pharma Cleanup
如果您在同一个黑客帐户下托管多个 WordPress 网站,那么您必须清理所有网站,否则它将一次又一次地被黑客入侵。对于我们来说,收到针对 WordPress 站点的被黑修复请求只是为了在同一个托管帐户下找到 2 个或更多站点是很常见的。在这种情况下,我们建议我们的客户让我们全部清理它们,否则我们宁愿放弃请求,因为我们不能保证他们请求清理的站点在不久的将来会保持干净。
最后的想法
Pharma Hack 已经存在了很长时间,并且一直在发展。移除它总是很困难且耗时,尤其是在发生再感染时。本文中提供的诊断和修复黑客的步骤应该可以帮助您有效地解决这个问题并减少它在未来再次发生的机会。但是,如果您不确定是否已成功删除 Pharma Hack 并保护您的网站免受未来的黑客攻击,您可能需要选择我们的 WordPress 支持和维护服务。现在可能是额外的费用,但从长远来看,它可以为您节省金钱。
如果您的 WordPress 网站已感染了日语黑客,那么我们建议您查看我们的如何识别和修复日语关键字黑客指南。
由 JOSHUA COLEMAN 在 Unsplash 上拍摄
帖子WordPress 感染了 Pharma Hack?如何检测、清理和保护您的网站首先出现在 BitofWP](https://bitofwp.com)的[WordPress 支持服务上。
更多推荐
所有评论(0)