【问题标题】:Give away signs that a site is Drupal? [closed]放弃网站是 Drupal 的标志? [关闭]
【发布时间】:2009-10-04 14:51:11
【问题描述】:

我正在尝试以这样一种方式更改我的网站,以便人们在查看它时不知道它是由 Drupal 提供支持的。所以,想知道是否有任何迹象表明我应该知道这一点?

我知道的一些赠品是:

  1. 添加内容时,会显示“node/add”。
  2. 如果存在以下文件:misc/favicon.ico

我正在寻找类似的东西?

【问题讨论】:

标签: drupal


【解决方案1】:

让我们看一个基于 Drupal 的相当定制的页面:http://gemini-lights.com/(来自Drupal sites repository 的随机页面)。 有很多赠品:

  • 如果您将 www.example.com/link/link2 更改为 www.example.com/?q=link/link2,它仍然有效并指向正确的页面
  • www.example.com/user/1 为您提供个人资料页面
  • 资源(imgs、css 等)位于 /sites/all|example.com/themes/ 或类似的地方
  • 有一些 CSS 类应用于网站的许多关键元素(如 body),它们不会改变外观 - Drupal 使用它们来提供有关页面状态的一些信息(如 <body class="front not-logged-in page-front-page two-sidebars">
  • 可能还有很多人

我的建议是:不要试图隐藏你网站的 CMS,如果黑客想知道你运行的是什么 CMS,他/她会知道的。我会专注于使 CMS 保持最新状态(Drupal 让这一切变得容易),并注意您正在安装哪些模块 - 它们 是最有可能的攻击媒介。


由于这个问题仍然受到很多人的欢迎,让我用一个大公司(波兰最大的电话公司之一)的网站示例来更新它,令我(令人愉快)惊讶的是,它正在使用 Drupal 进行它的主站点http://dialog.pl/:

  • /user/1、/login 等通常的赠品页面会重定向到主页,因此您可以看到网站的创建者已经完成了他们的功课;)
  • ...但是页面的来源包含我最喜欢的赠品:禅主题的使用:像/sites/all/themes/zen-dialog-main-page/../zen/css/page-strona_glowna.php这样的网址或应用的CSS样式:<body class="front not-logged-in node-type-page two-sidebars">
  • 另一个赠品是update.php 页面,该页面具有熟悉的 Garland 主题(此主题为 Kevin 的道具)。

如您所见,仍然可以看出该网站正在使用 Drupal - 这是一家大公司的网站。所以上面的建议仍然成立:不要浪费你的资源试图隐藏你使用的 CMS,保持最新(这就是 update.php 文件可能仍然存在的原因),监控安全漏洞,使用强密码,等等。

【讨论】:

  • 不确定是否真的是 Drupal 定制网站的一个很好的例子了.. 当检查 builtwith 它实际上显示为 Joomla 网站..
  • 我很确定他们仍在使用 Drupal——我上面给出的所有提示都指向它,尤其是 update.php 页面。我不知道究竟是什么说服了builtwith 将其标记为使用 Joomla 构建(可能是他们在主页上使用的组件),但最终它只是猜测,所以你应该仔细检查它们返回的结果。跨度>
  • losttheatre.co.uk?嗯,一个很好的线索是 Joomla 而不是 Drupal,他们在页脚中提到该网站是由 webeditors.co.uk 构建的,这是一家 Joomla 商店.. 只是说..
  • 我的错误 - 我以为你的意思是 dialog.pl。感谢您指出这一点-我已经更新了答案,随机选择了一个新站点:)
  • 您还必须检查您安装和修改的每个模块的 css。这将是应用任何新安全策略的严重障碍。
【解决方案2】:

你在浪费时间:

默默无闻不是一种安全形式。而试图隐藏 Drupal 可能只会诱使黑客打败你。

如果存在安全漏洞,您几乎肯定会错过它,黑客只需尝试特定的攻击向量。他或她不会检查它是否是 Drupal。您的攻击可能来自无关紧要的软件。

您为隐藏 Drupal 所做的更改实际上可能会降低您的网站的安全性。特别是如果您更改了核心并且不再能够判断您的网站是否是最新的。

您隐藏 Drupal 所付出的努力很可能会应用到经过验证的有效安全策略上并获得更好的结果。

【讨论】:

  • 大多数脚本小子攻击不会检查某个软件或版本然后进行攻击;他们只会运行一组漏洞,看看是否有任何工作。如果他们这样做了,那么如果他们关心的话,他们可以检查他们破坏了哪些软件和版本。隐藏明显的版本信息最多可能导致攻击花费更长的时间,因为无法限制要运行的攻击集。
  • 我理解这个论点,但默默无闻绝对是一种安全形式。如果你一开始不知道目标就很难击中它。
  • 你确定吗?对于未知的安全漏洞,肯定会出现这种情况。但是一旦知道了一些事情,你只需要自动化攻击。最近发生在 Rails 上。
  • 好吧,让我们用一个我相信每个人都明白的比喻......隐形战斗机比普通喷气式飞机更安全吗?......如果你知道它们在哪里,真的很容易击中,但我敢肯定,我们都同意隐身更安全,因为它的默默无闻
【解决方案3】:
  • 登录页面为 /user 或 /user/login
  • 管理页面是 /admin 或 ?q=admin
  • /node 显示最新节点列表
  • /node/n 其中 n 是一个数字,显示具有该数字的节点(例如 /node/1 显示曾经创建的第一个节点)
  • 视图源中对象类中的单词“节点”或“视图”。
  • 在分页的东西中,第 2 页实际上在 URL 中显示为 page/1 或 /1(Drupal 分页 URL 有点像这样)。

就像其他人所说的那样,不要太担心这一点。这是浪费时间。只需让 Drupal 核心和所有模块保持最新(您甚至可以将其设置为在为您安装的模块发布安全版本时向您发送电子邮件),您不必担心任何事情。

【讨论】:

    【解决方案4】:

    快速确定站点是否为 Drupal 站点的方法。

    • 浏览源代码并搜索 Drupal.settings(出现在所有使用谷歌分析模块的网站上)
    • 如果 Drupalsite 访问 www.example.com/CHANGELOG.txt,将显示当前版本。

    还有很多其他方法可以表明一个站点是否是 Drupal 站点,但以上方法是快速且确定的。

    会有其他迹象。

    • 标记:
      • class="clear-block"(clear-block 是 clear-fix CSS 技巧的 drupal 实现)
      • 网址:
        • 节点
        • 节点/[数量]
        • 节点/添加
        • admin -> 给予 403
        • admin/build/modules -> 给出 403
      • HTTP Expires 标头设置为 Dries(Drupal 的创建者)的生日

    【讨论】:

    【解决方案5】:

    greggles(Drupal 安全团队负责人)写了一篇关于隐藏网站正在运行 Drupal 的文章:Hiding the fact your site runs Drupal OR fingerprinting a Drupal site

    可以更改某些允许知道站点何时使用 Drupal 的内容,但在某些情况下它是不值得的,或者它需要的资源可以更好地用于其他事情,例如使 Drupal 更安全,或避免网站中的安全漏洞。
    例如,从模块提供给用户的消息表明站点正在运行 Drupal(以及确切的版本),但是更改这些消息意味着每次安装新模块或模块的新版本时都会更改它们已安装。 CSS 类是其他有助于理解站点何时运行 Drupal 的东西,但更改它们并不容易,因为某些模块依赖于特定的 CSS 类才能工作。 JavaScript 代码使用Drupal 对象这一事实也有助于捕获 Drupal 站点。

    【讨论】:

      【解决方案6】:

      旧问题的新答案。 This site 会告诉您网站是否是用 Drupal 构建的,并且可能会泄露您的游戏。不过,它确实会产生误报,因此值得在该网站上对其进行测试,看看您能在多大程度上进行混淆。

      【讨论】:

        【解决方案7】:

        你无法真正摆脱人们的怀疑。为此,您必须更改文件系统、样式表、标记等。这是不合理的。使用 Drupal 为什么重要?

        【讨论】:

        • 我确信他担心人们会使用 Drupal 中的已知漏洞。
        • @whatnick:是的,基本上。如果人们不知道我的网站在运行什么,我会感觉好多了。这让寻找漏洞变得更加困难。
        【解决方案8】:

        我发现http://wappalyzer.com Chrome 扩展程序是一个很好的工具,可以检测网站的驱动力。这不仅仅是检测 Drupal,还列出了网站使用的许多 3rd 方工具和底层技术。

        【讨论】:

          【解决方案9】:

          了解 Drupal 的人可能会通过来源识别它。但是 Drupal 没有 Joomla 或其他生成器头文件。

          【讨论】:

          • 我的意思是,如果他们只需要访问我的网站,而无法看到源代码。
          • 如果您可以访问该站点,您也可以访问源代码。 ;)
          • 是的,对不起。您可以访问 HTML 源代码。我的意思是您无权访问实际的 php 源代码。猜猜这很明显..
          【解决方案10】:

          过期标头也非常独特。事实上,它们被设置为 Dries Buytaert(Drupal 的创建者)的出生日期。据我所知,自 Drupal 4.6 以来,它们的设置如下所示。

          Expires: Sun, 19 Nov 1978 05:00:00 GMT
          

          【讨论】:

            【解决方案11】:

            死的赠品:

            尝试去 update.php,你会得到拒绝访问(和花环主题)。

            【讨论】:

              【解决方案12】:

              Chrome 有一个名为 Chrome Sniffer 的插件,可以显示任何网站的构建基础。

              【讨论】:

              猜你喜欢
              相关资源
              最近更新 更多
              热门标签