ПОЗЖЕ РЕДАКТИРОВАТЬ : Может ли быть так, что IIS не чувствителен к регистру для URL-адресов, а Apache - и кто-то может использовать эту информацию для дальнейшего повышения коэффициента достоверности при обнаружении OS / WebServer?
Я читал о полезном инструменте UrlScan Вот и наткнулся
IIS 6.0 не включает функцию RemoveServerHeader, поскольку эта функция не дает реальных преимуществ в плане безопасности. Большинство атак на серверы не зависят от операционной системы. Кроме того, можно определить идентичность сервера и информацию об операционной системе с помощью механизмов, которые не зависят от заголовка сервера.
Конечно, это вызвало у меня любопытство, так как я не понимаю, как можно обнаружить ОС и / или веб-сервер без использования заголовка сервера. Однако расширения (.php, .asp, .aspx, .do, .py и т. Д.) Не могут быть ответом на этот вопрос или искать "__VIEWSTATE" или аналогичные скрытые поля ввода в содержимом ответа.
Есть ли какой-то секретный способ, о котором я действительно не знаю?
РЕДАКТИРОВАТЬ 1: Я предполагаю настраиваемые страницы ошибок (а не те, которые по умолчанию четко показывают веб-сервер; знание веб-сервера также дает вам четкое представление об ОС)
Похожий на Обнаружение ОС, каждый веб-сервер имеет небольшие особенности и поведение при определенных условиях, которые могут быть обнаружены. Я не знаю точных методов макушки. Это часто делается путем отправки недействительных или необычных запросов и просмотра сообщения об ошибке или ответа. Apache может обрабатывать конкретный недопустимый запрос несколько иначе, чем IIS.
Некоторые из них будут замаскированы, если на пути есть обратный прокси-сервер или балансировщик нагрузки. Вместо того, чтобы изучать ваш веб-сервер, любопытный человек узнает, какой прокси вы используете.
На самом деле это довольно тривиально, даже если между ними есть прокси. Например, этот инструмент дает вам довольно хорошее представление:
Хотя это все еще метод проверки заголовка HTTP, есть много других заголовков, помимо заголовка сервера, которые разные серверы приложений будут добавлять к ответу HTTP, что указывает на то, на каком сервере они работают.
Некоторые примеры из IIS / ASP.NET / Sharepoint:
Это не гарантированный метод, но во многих случаях работает.