【问题标题】:Locating source of spam in Joomla在 Joomla 中定位垃圾邮件的来源
【发布时间】:2026-02-09 04:50:02
【问题描述】:

所以,我刚刚开始使用一个新的 Joomla 网站,我们添加的东西已经开始劫持网站的各个部分,并添加指向我们不想要的各个地方的链接。不幸的是,我现在不能给出实时站点的链接,但我可以描述问题:

  • 在页脚中,应该显示“设计者:”和我们从中获取模板的位置的名称,它留下了“设计者:”,但删除了模板作者的姓名,取而代之的是放入两个链接(不再给劫机者任何点击,但这是它们的文本),“在线相册”和“检查 whois”

  • 当我们将鼠标悬停在网站名称上时,替代文本设置为“外汇交易主页”,这肯定不是应该的。

  • 最后,当您将鼠标悬停在主菜单中的“主页”项上时,会在短暂延迟后出现一个下拉菜单,其中包含指向“cpanel 经销商托管”的链接。

现在,我想摆脱这些广告,但我不知道它们来自哪里。如果你们知道一些我可以搜索的经常被劫持的文件,或者找到它们的良好调试技巧(我已经尝试过 FirePHP,但没有取得太大的成功),我将非常感激。不幸的是,由于有几个人同时在网站上工作,我们不确定是什么扩展可能导致它(如果这实际上是问题) - 但所有这些似乎都很好,并且来自主要的 Joomla扩展站点。


编辑:

以下是在我们注意到垃圾邮件问题开始发生之前我知道已安装的模块列表:

除此之外,其他所有东西都是在问题开始后安装的,或者是一个已经被卸载的主题(因此,我不知道它是什么了)。现在的主题,我已经仔细研究过了,但这是 Martial Arts Theme 的版本,有很多修改过的图像(以及 php 从 .gif 到 .png 的一个变化)


编辑编辑:所以,仍在寻找,但似乎旧版本的 picasa2gallery(我们曾经有一个新版本,但已将其卸载)存在 LFI 漏洞。也许这就是源头。无论如何,我想我会彻底清除,然后重新开始,真的。

【问题讨论】:

    标签: joomla joomla1.5 spam-prevention


    【解决方案1】:

    所以,事实证明正确答案是“以上都不是”,直到我删除所有内容以删除黑客之后,我才注意到这一点。

    在我恢复主题后,我注意到“黑客”垃圾邮件链接又回来了,速度太快了,甚至无法成为自动脚本。

    那时我发现图像目录中有一个 .gif 文件,其中包含包含垃圾邮件链接的“坏”PHP 代码。具有讽刺意味的是,他们用来制作它的代码特别糟糕,所以至少我从这个漫长的考验中得到了很好的笑声。

    故事的寓意:不要从 ThemZa 获取主题,如果你这样做了,如果你喜欢它们的外观,请准备好从它们中挖掘出来。

    【讨论】:

    • 谢谢,这为我指明了正确的方向。我有同样的。在页脚和/或模板中找不到任何内容。但在图像文件夹中,有一个 index.php 从 data.csv 加载并在页面底部显示链接
    【解决方案2】:

    您的完整 Joomla 安装似乎已被黑客入侵,请遵循您现在应该执行的指南(重新安装和保护)

    【讨论】:

    • 嗯,完全重新安装真的是最好的首选吗?虽然我们还没有走得太远,但重新开始还是很烦人的......
    • @camperdave:虽然您可能会找到并修复网站的被黑部分,但您永远无法确定是否找到了所有这些部分。从头开始重新安装是最安全的选择。
    • 既然攻击者拥有(拥有)完全访问权限,您如何确定没有引入新的后门?最安全的选择是回滚到网站未被黑客入侵的备份并修复原始安全漏洞
    【解决方案3】:

    检查服务器访问日志。您很可能会看到对特定组件(在 URI 中查找 com_*)的访问过多或不合适。

    当这种情况发生在我的网站上时,它是劫持者在 Google 搜索的特定组件(即 com_virtuemart 是最后一个罪魁祸首),然后他们试图利用该组件,希望它是一个有缺陷的版本。

    【讨论】:

    • 几乎我的服务器访问日志中包含“com_”的每一行都引用了“com_component”、“com_sections”、“com_noixacl”(我知道事实上,一些如果不是全部的话在我们安装“com_content”或“com_modules”之前,垃圾邮件就在那里。所有这些似乎都还可以,有什么想法要寻找吗?我将使用我安装的组件列表来编辑问题还有……希望有人会说你“坏”?
    • 首先,对站点进行备份,然后锁定您的安装。假设这是 Linux,请从所有内容中删除写标志。其次,卸载您不使用的任何组件。第三,检查您的 PHP 文件。他们可能都将劫持脚本注入其中,在这种情况下,如果脚本只是一大行代码(通常是),您可以使用 grep 来修复它。很多时候,它是文件顶部的 base64 编码字符串。最后,使用安装程序/卸载程序查看您留下的组件并进行一些谷歌搜索。您可能会发现其他人对特定组件有相同的问题
    【解决方案4】:

    如果您无法确定并修复他们突破的孔,那么 Tobias P. 建议的重新安装可能是唯一安全的方法。如果有人可以访问该级别的文件,那么您就有大问题了。您需要确定他们是从哪条路进来的。这可能有多种原因:

    • 有人利用 Joomla 安全漏洞(或插件中的漏洞)

    • 有人通过监视客户端计算机获得了对 FTP 帐户的访问权限

    • 有人利用服务器软件的弱点

    这很可能是有人在利用 Joomla 漏洞,可能没有理由恐慌。但是您绝对应该找出或重新安装。也许您会在 Joomla 论坛或您的 ISP 上找到更具体的帮助。

    当您使用它时,最好也更改所有 FTP 密码,以确保安全。

    Google 的好书:My site's been hacked - now what?

    【讨论】:

    • Grr。我想我至少会开始寻找那个洞。看起来 FTP 帐户是干净的,所以有时间找出是哪个组件导致了问题。 (该站点托管在 HostGator 上,所以我真的希望他们没有服务器漏洞,因为如果是这种情况,我无论如何都无法修复它)
    • @camperdave 是的。从理论上讲,也可能是您的 Joomla 源文件受到了损害,因此请确保将它们与本地副本进行比较。此外,建议更改数据库用户名和密码,因为它们也可能被访问过。
    最近更新 更多