【问题标题】:Securing a website保护网站
【发布时间】:2011-03-14 15:19:35
【问题描述】:

我目前正在调查一个因网络钓鱼目的而被黑客入侵的网站。显然,引入了一个 PHP 文件并用于上传文件并可能更改目录权限。我怀疑这是通过公共可写目录或不安全的图像上传脚本完成的。

我可以采取哪些步骤使网站尽可能安全?

【问题讨论】:

  • 在不了解您的设置的情况下,我们无法为您提供帮助。您需要更具描述性。为什么你认为有一个公共可写目录?这个不安全的图片上传脚本在哪里,它的源代码是什么?你的日志说什么?最后......你运行 WordPress 吗?
  • 这是一个很长的话题,但要开始,请查看访问日志。您可能会在那里找到恶意上传的来源...
  • 这可能属于网站管理员。您需要在服务器和代码中执行一长串事情。将漏洞范围缩小到特定来源后,如果该来源在编程中,请在此处发布问题。
  • @Brad:PHP、MySQL 和网站基于 osCommerce。一些目录的权限设置为 777,这很奇怪。实际的上传脚本用于将图像添加到文章描述中。我在那里发现了一些不在本地主机上的 PHP 文件,所以我敢打赌脚本中存在缺陷或目录设置不正确。

标签: php security web


【解决方案1】:

最重要的一步是从备份中恢复代码。攻击者可以创建任何后门以供将来使用。

您的http_access 日志可能会告诉您入侵的原始点。

还要检查您的虚拟主机使用的文件权限。在许多情况下,漏洞并不存在于页面本身,而是托管公司没有分隔不同客户的空间(因此它可能是从同一虚拟主机上的其他客户传播的)。

【讨论】:

  • 这个IMO不完整,你不知道漏洞是从哪里开始的,不改什么就恢复有什么意义?
  • 我没有说这是唯一步骤,对吗?在同一句话中,我写下了重点:消除任何可能比原始漏洞隐藏得多的额外后门。
  • 很公平,我仍然认为它没有帮助(不是你的错,而是问题)。
【解决方案2】:

问题被标记为 PHP,所以我假设您的服务器端语言是 PHP。这也是一个相当普遍的问题,但一些建议是

  1. 如果仅要上传图像文件,请验证文件是否具有有效的图像扩展名和 mime 类型并使用 getimagesize()。即使您不只接受图像文件,也要根据允许的扩展名和类型的白名单检查扩展名和 mime 类型。此外,当您使用 move_uploaded_file 时,请选择您自己的名称和扩展名。

  2. 通过将您的上传目录保留在 Web 根目录之外并检查您的文件请求所依赖的任何数据,确保无法请求任意文件。

还有更多信息here

【讨论】:

    【解决方案3】:

    我的 php 网站收到的两种最常见的攻击是 SQL 注入和远程文件包含。我的 IDS 每天接收大约 6 次攻击。作为开发人员,您可以做的第一件事始终是验证用户输入。切勿将用户输入(如请求变量)直接传递给 SQL 查询。

    阅读远程文件包含:

    http://www.theprohack.com/2010/07/simple-tutorial-on-remote-file.html

    【讨论】:

      猜你喜欢
      • 2011-07-11
      • 2014-05-24
      • 1970-01-01
      • 1970-01-01
      • 2017-07-06
      • 2012-12-13
      • 2010-11-17
      • 1970-01-01
      相关资源
      最近更新 更多