他们是如何入侵我的WordPress的网站

我有很多在Bluehost共享主机环境中托pipe的WordPress站点。 最近当我在Googlesearch一个网站时,它说“网站可能会被入侵”。

我从Google网站pipe理员那里收到有关WP网站中某个脚本的警报。 当我查看这些网站时,我在页脚中find了一些链接,提到了"myteenmovies.net"和另一个网站。 Whois信息显示,他们是俄罗斯网站。

我还发现一些其他的PHP文件,怪异的名字, wxwz.phpxypz.php等… PHP代码被encryption了一些eval(gununcompress(base64_decode())) 。 还有另外一个文件,里面有一个注释“#b shell by orb”。

我知道黑客已经完全访问我的服务器(使用Webshel​​l脚本)。 所有的网站都很老了(大约一年),Wordpress 2.5。 权限是755.任何人都可以猜测或build议,黑客是如何上传文件? FTP / SSH / Cpanel密码相当强大。 任何其他方式?

那就是你的问题 这些攻击大部分都是通过自动化脚本来执行的,这些脚本在老版本的wordpress系统中查找已知的漏洞。 由于任何人都可以查看错误报告和更新日志,因此devise一个脚本来利用一个弱点并不困难。

你最好的防御是永远有你的WordPress的版本和你的主题/插件更新。

我曾经有这个问题与我的一些已经停止的博客,但保持不断更新固定它。

在现有的博客上做一个grep,并在你的WP目录中寻找任何iframe或者eval方法调用。 同时检查数据库。 一旦完全干净,更新你的WP版本和主题/插件,并保持更新。

接下来loginGoogle网站pipe理员,如果您还没有,请certificate拥有权并要求对您的网站进行审核。 警告应该在一段时间后消失。

欢迎来到现实。 你的网站被黑了,因为你完全没有采取任何预防措施。 运行这样老的和易受攻击的版本的WordPress只是要求这样的事情发生。 鉴于你所创build的邀请,当人们参加聚会时不会感到惊讶。

我build议你或者在你的网站上添加一些有用的东西,或者不再扮演一个网站pipe理员,让一个知道他们在做什么来pipe理你的系统的人,并确保所有合理的安全措施得到实施,包括必要的升级。 对于一个网站来说,不仅仅是把一个预先打包好的软件放在上面,input一些内容然后坐下来。

除非从发生的那一天开始logging,否则可能没有办法知道它是如何发生的。 对于像2.5这样的wordpress的历史版本,有很多漏洞利用 。 这里有几个CVE可能是他们进来的:

  • CVE-二零零八年至2068年
  • CVE-2008年至2392年
  • CVE-2009至2762年
  • CVE-2009-3890

你保持你的插件最新? 也有对他们的攻击,这也可能是攻击的途径 。

你可能会花几天的时间看CVE并利用代码,但是他们进入的原因(假设是通过wordpress)是通过代码中的一些错误。 这个bug可能是几年前发现的,已经被广泛的发布,并且已经被修复了。 关于你的wordpress安装可能没什么特别的,它可能是通过一些自动化工具来寻找老版本的WordPress的。

你保持你的插件最新? 也有对他们的攻击,这也可能是攻击的途径 。

如果你只是想看看有人可能会利用一些老版本的WordPress,只要searchhttp://exploit-db.com 。

FTP / SSH / Cpanel密码相当强大

你重用密码? 您的FTP密码是否与3年前注册的论坛相同,这些密码以明文forms存储,并被黑客入侵? 这是另一个攻击的途径。

看到常见问题:我的网站被黑客攻击«WordPress的Codex和如何彻底清理你的黑客攻击WordPress的安装和如何find一个黑客的WordPress的后门和Hardening WordPress«WordPress的代码

这个问题真的很老,但是由于我最近处理的是相同types的攻击,所以下面是一些非常基本的事情:

  1. 编辑你的php.ini文件来禁止base64_decodefunction。 find表示disable_functions =的行,并将其更改为disable_functions = eval, base64_decode, gzinflate 。 许多这些脚本使用这个函数来解压他们的文件,并让他们在你的服务器上运行。 这至less会停止自动解包文件。
  2. 改变你的wordpress表前缀。 你必须在你的MySql数据库以及你的config.php文件中这样做。 默认的前缀是wp_ ,这使得猜测表和字段名称非常容易为wordpress博客的90%。 这不是一个银弹或任何东西,但它会迫使他们试图猜测你的数据库名称是什么,可以放慢他们足够放弃试图插入到你的数据库的东西。
  3. 更改上传文件夹的名称。 WordPress允许通过媒体上传器对这个文件夹进行写入访问,这使得他们可以上传包含shell脚本的PHP文件,而且很有可能你不会在这里看到它们。 他们不会出现在您的媒体库中他们会被埋在一个你不太可能使用FTP程序的地方。 就像更改默认数据库前缀一样,如果您将此文件夹保留为默认值,任何具有任何技能的人都可以猜测到该文件夹​​的文件path。 我们还将限制可以添加到该文件夹​​中的文件types为.jpg.gif.png因为通过检查博客上的任何图像的URL,可以轻松地发现上传文件夹名称。
  4. 获得像Wordfence一样的安全性好的插件。 到目前为止我对此非常满意。
  5. 我不会推荐没有经验的用户,但保持文件path秘密的另一个好办法是把你的内容文件夹移到主wordpress安装(即应用程序目录)之外。 它的工作类似于有一个虚拟目录,其中您的博客上的URL不反映文字文件path。 通过这样做,如果他们尝试上传到您的URL中find的目录,他们将遇到错误。 这里有关于在Codex中更改内容文件夹位置的信息

一般来说,更改所有默认设置以尽可能自定义安装是个不错的主意。 有很多,你可以做更多,我强烈build议阅读加强wordpress和php,但是这样的简单的东西会阻止大多数偶然的黑客和那些使用自动漏洞扫描器的人。

也知道,如果他们有完全访问您的服务器,你将不得不改变所有的用户帐户。 更改您的帐户名称。 改变你的密码。 所有你的密码,包括数据库,FTP ……任何需要validation的东西现在都会受到损害,如果他们有这些东西,那么世界上所有的硬化都没有意义。

亚历克斯,除非你是一个全职的安全人员,否则对这样的事情进行取证是浪费你的时间。 运行3岁的WP 2.5只是要求运行。

一些简单的规则:

  • 在允许用户上传到您的网站的文件types上保持非常保守。 最好的select是“无”。
  • 保持最新的,经过testing的一切异地备份。
  • 对所有帐户使用/需要良好的密码。
  • 保持你的软件是最新的,
  • 而且,如果你是系统pipe理员,不要暴露你不需要的任何服务(我通常将它限制在80/443端口上,而对于SSH端口则是22)。