6

我们最近接到一位客户的电话,抱怨他们的网站在页面底部有一些“奇怪的代码”。我们检查了源代码,发现大约 800 字节的恶意 javascript 代码被附加到templates/master文件中,在</html>标记之后。我不会发布所说的代码,因为它看起来特别讨厌。

据我所知,除非有人直接访问服务器和/或 FTP 登录详细信息,否则无法以任何方式编辑此文件。实际文件本身已被修改,因此排除了任何类型的 SQL 攻击。除了一个人实际获得凭据并手动修改此文件之外,对于发生的事情还有其他合乎逻辑的解释吗?有没有其他人经历过这样的事情?

4

7 回答 7

7

我要检查的地方是:

  • 文件修改时间(查看何时发生)
  • HTTP 服务器日志以获取看起来很有趣的 GET 参数的迹象(例如,?foo=exec('...')
  • FTP 服务器日志
  • SSH 日志(我曾经发生过类似的事情,那是因为有人泄露了他们的密码)

另外,我会立即限制对所有站点文件的写访问,只是为了免受同样的攻击(当然,向量仍然是打开的,但总比没有好)。

于 2010-05-25T14:12:53.763 回答
3

如果攻击者没有其他文件访问权限,则代码中的某处可能存在漏洞,允许用户执行任意代码。使用 passthru()、exec() 和 eval() 是这里的常见问题。如果在同一台机器上运行 FTP,这通常也是一个强大的攻击向量。

我不确定我是否会断然排除 SQL 攻击(尤其是结合上述漏洞的反射攻击),但也不清楚它是否会是一种攻击。


对于您的问题,它可能是自动化的,也可能是针对个人的,很难说给出的详细程度。正如其他人所说,尽可能多地切换密码,限制对服务器的访问,然后开始检查日志以查看哪里出了问题。这将比拆开应用程序本身更成功。

于 2010-05-25T14:05:55.737 回答
3

您没有指定,但如果您是,则无论如何都不应该在生产服务器上使用 FTP,因为它本质上是不安全的(除其他外,它以明文形式传输凭据,使您很容易成为嗅探攻击的牺牲品)。始终使用 SFTP。

如果您使用的是普通 FTP,这很可能是攻击媒介,尤其是在修改文件的情况下。如果您的机器已被完全穿透,我预计会看到更多。

于 2010-05-25T14:20:23.113 回答
1

这是我的看法。使用 FTP 程序?您存储密码、路径等的 ftp 日志文件被抓取。密码被解码。

尽量不要在 FTP 客户端中存储 FTP 密码。或者像上面那样,使用 SFTP。我们遇到了类似的问题,似乎来自一台具有一组 FTP 登录名的计算机。也因为这台电脑以前有很多奇怪的问题。Javascript 无法正常工作、奇怪的会话超时或被简单地删除。这对我来说表明这台电脑上有东西。

于 2011-06-06T22:38:09.987 回答
1

几乎可以肯定的是,凭据被泄露,允许某人远程更改代码。服务器是否位于现场?

于 2010-05-25T14:09:01.887 回答
0

要检测现有的恶意代码,我建议您在服务器上使用良好的反恶意软件扫描引擎来检测网站文件中的恶意代码。很多时候,服务器不是易受攻击的,但网站是易受攻击的!为了防止这种情况,请使用可以查看每个请求以检测和阻止攻击尝试的Web 应用程序防火墙。

于 2014-02-01T12:37:55.063 回答
0

请确保在您的网站中找到并删除任何可疑文件。如果他们可以访问 FTP,很可能他们在某处留下了后门脚本,即使您更改了 FTP 密码或切换到使用 SFTP,他们也可以通过特定 URL 上传/修改您网站上的文件。

如果您使用的是 PHP,请尝试运行此处找到的脚本。

于 2013-06-21T21:09:37.843 回答