我们最近有一个网站被黑了,其中一些PHP代码被注入到index.php文件中,看起来像这样:
eval(gzinflate(base64_decode('s127ezsS / … bA236UA1')));
该代码导致另一个php文件(cnfg.php)被包括在内,导致一些与制药有关的垃圾邮件被显示(但只能被googlebot等人看到)。 这看起来像WordPress的药品黑客,除非我们没有运行该软件。 代码已经被删除,但是我希望能够防止这种情况在将来发生。
我意识到这是一个相当广泛的问题,可能会有无数的安全漏洞可能是负责任的,但是我认为我会把它放在那里,以防过去有人遇到过这样的问题。
什么是一些潜在的安全漏洞,将允许这些PHPfile upload? 我能做些什么来防止这种情况发生?
干杯
你需要知道如何到达那里。
只是一个警告。
如果您使用的是FileZilla作为您的FTP客户端,则会有恶意软件从Filezilla PLAIN TEXT FILE(yikes!)抓取您的FTP凭据,并使用该信息插入恶意软件代码(由#b58b6f#代码types围绕着一个“gzinflate(base64_decode)”命令,这就是你的文件如何受到攻击/攻击的原因。
查看你的%APPDATA%/ Roaming / Filezilla文件夹。 其中的一个XML文件在PLAIN TEXT中拥有所有的FTP网站证书(用户名/密码/ etc)! 而FileZilla的人拒绝修复这个明显的安全漏洞。
我的build议:从您的计算机中删除FileZilla(并且您必须手动删除您的APPDATA文件夹中的文件夹)。
如果您需要安全的FTP客户端,请使用WinSCP(www .winscp .net),您可以在其中设置主密码,并且您的所有站点凭证均已encryption。
只是一个警告…. Rick … J
有这样一个巨大的领域的可能性,这可能已经进入。有助于限制这种情况的一个信息是什么types的托pipe(共享,专用,虚拟),以及你的主人是谁。 一些潜在的入口点是
PHP中的应用程序级漏洞:
<?php include $_GET['page'] . '.php'; ?>
如何防止它再次发生?
您将需要find允许此代码上传的漏洞。
我经历了类似的黑客攻击,它被确定为由第三方Joomla扩展上传,允许FTP上传。
在我的情况下,我删除了Joomla扩展,并告诉Web开发人员不要再安装它。
根据你的情况,你可能想禁用eval,base64_decode和gzinflate。
您可以通过查找该行在php.ini中执行此操作
disable_functions =
并将其设置为
disable_functions = eval, base64_decode, gzinflate
您将需要重新启动您的Web服务器才能使更改生效。
还值得一提的是,当我用clamscan扫描受感染文件时,它被识别为恶意软件。 我正在运行ClamAV版本0.96.1
我现在没有我的笔记,所以不能告诉你确切的结果。
如果这样做是可行的,你可以安排一个工作,定期(也许是每小时)对你的代码运行clamscan来监视未来的感染。
您可能希望尝试http://www.hardened-php.net/suhosin/ ,其中,可能已禁用eval()。 如果cnfg.php是远程托pipe的,它可能会阻止它被包含在内。
如果可能的话,不要授予用户Web服务器作为对php文件的写访问权限。