我们最近接到了一位客户的电话,抱怨他们的网站在页面底部有一些“奇怪的代码”。我们查看了源代码,发现在templates/master
标记之后,</html>
文件中附加了大约800字节的恶意javascript代码。我不会发布所说的代码,因为它看起来特别讨厌。
据我所知,除非有人直接访问服务器和/或FTP登录详细信息,否则无法以任何方式编辑此文件。实际文件本身已被修改,因此排除了任何类型的SQL攻击。除了身体获得凭据并手动修改此文件的人之外,还会对发生的事情进行任何其他逻辑解释吗?有没有其他人有这种事情的经历?
答案 0 :(得分:7)
我要检查的地方是:
?foo=exec('...')
)另外,我会立即限制对所有网站文件的写访问权限,只是为了保护相同的攻击(当然,向量仍然是开放的,但它总比没有好)。
答案 1 :(得分:3)
如果攻击者没有其他文件访问权限,那么代码中的某个漏洞很可能允许用户执行任意代码。使用passthru(),exec()和eval()是常见的问题。如果在同一台机器上运行FTP,那通常也是强攻击向量。
我不确定我是否会明确排除SQL攻击(特别是与上述攻击相结合的反射),但不清楚它是否也是一个。
对于您的问题,它可以是自动的,也可以是针对性的,很难说明给出的详细程度。正如其他人所说,切换尽可能多的密码,限制对服务器的访问,然后开始检查日志以查看出错的地方。这比破坏应用程序本身更成功。
答案 2 :(得分:3)
你没有指定,但如果你是这样的话,你不应该在生产服务器上使用FTP,因为它本质上是不安全的(除此之外它以明文传输凭证,使你很容易被嗅探攻击)。始终使用SFTP。
如果您使用普通FTP,这很可能是攻击媒介,特别是修改文件时就是这样。如果您的机器已经完全穿透,我预计会看到更多。
答案 3 :(得分:1)
几乎肯定会破坏凭据,允许某人远程更改代码。服务器是否位于现场?
答案 4 :(得分:1)
以下是我的看法。 使用FTP程序?您的ftp日志文件存储密码,路径等等。密码被解码。
尽量不要在FTP客户端中存储FTP密码。或者如上所述,使用SFTP。 我们遇到了类似的问题,似乎来自一台带有一组FTP登录的计算机。此外,这台计算机还有许多以前的奇怪问题。 Javascript无法正常工作,奇怪的会话超时或只是删除。对我来说这表明这台电脑上有东西。
答案 5 :(得分:0)
请务必查找并删除您网站中的所有可疑文件。如果他们可以访问FTP,他们很可能会在某处留下一个后门脚本,这样即使您更改了FTP密码或切换到使用SFTP,他们也可以通过特定的URL上传/修改您网站上的文件。
如果您使用的是PHP,请尝试运行找到的here脚本。
答案 6 :(得分:0)
要检测现有的恶意代码,我建议您在服务器上使用良好的反恶意软件扫描引擎来检测网站文件上的恶意代码。 很多时候,服务器不容易受到攻击,但网站是!为了防止这种情况,请使用Web Application Firewall来查看每个请求,以检测并阻止攻击企图。