如何在没有服务器标头的情况下检测 Web 服务器

And*_*nea 2 linux windows iis web-server apache-2.2

后期编辑:可能是 IIS 对 URL 不区分大小写,而 Apache 是,有人可以使用此信息进一步增加 OS/WebServer 检测的置信度?


我正在阅读有关有用的 UrlScan 工具here并遇到

IIS 6.0 不包括 RemoveServerHeader 功能,因为此功能没有提供真正的安全优势。大多数服务器攻击都不是特定于操作系统的。此外,可以通过不依赖于服务器标头的机制来检测服务器的身份和有关操作系统的信息。

当然,这激起了我的好奇心,因为我不明白如何在不使用服务器标头的情况下检测操作系统和/或 Web 服务器。然而,扩展名(.php、.asp、.aspx、.do、.py 等)不能回答这个问题,也不能在响应内容中寻找“__VIEWSTATE”或类似的隐藏输入字段。

有什么我真的不知道的秘密方法吗?

编辑 1:我假设自定义的错误页面(不是默认的那些清楚地显示 Web 服务器的页面;了解 Web 服务器也可以为您提供有关操作系统的有力线索)

Zor*_*che 6

操作系统检测类似,每个 Web 服务器在某些可以检测到的条件下都有轻微的怪癖和不同的行为。我不知道我的头顶的确切方法。这通常通过发送无效或异常请求并查看错误消息或响应来完成。Apache 处理特定无效请求的方式可能与 IIS 略有不同。

如果路径中有反向代理或负载均衡器,其中一些将被屏蔽。好奇的人不会了解您的网络服务器,而是会了解您使用的代理。