Как мы можем сказать, какой язык / технология использовались для визуализации HTML-документа? - PullRequest
1 голос
/ 05 октября 2009

Как правило, веб-приложение может отображать любой понравившийся HTML-код. Поэтому, теоретически, любой язык может отображать идентичный вывод HTML.

Однако есть несколько способов, которыми мы можем попытаться определить, что работает на стороне сервера. Например, расширения файлов - это, как правило, дешевая распродажа (хотя они могут быть технически подделаны). Благодаря своему опыту работы с ASP.NET я знаю, что одним из способов идентификации приложения ASP.NET является наличие VIEWSTATE в отображаемом документе, хотя отсутствие viewstate не обязательно означает, что приложение не работает на ASP.NET

Мы могли бы запустить некоторые отпечатки ОС / сервера на сервере, но в целом это не сильно помогло бы - в наши дни даже серверы Windows могут запускать довольно много платформ приложений.

Какие другие методы анализа доступны, которые могут помочь нам определить, что работает на сервере? Какие еще подсказки оставляют определенные языки?

Если мы сможем лучше понять артефакты, которые оставляют наши приложения, возможно, настолько маленькие, что мы их не заметили, мы можем начать повышать нашу безопасность, удалив их из вывода.

Ответы [ 3 ]

2 голосов
/ 05 октября 2009

Проверка заголовков HTTP - хорошее начало. IIS6 и ASP.Net по умолчанию вставляют заголовок X-Powered-By с ASP.Net в качестве значения.

0 голосов
/ 05 октября 2009

https://addons.mozilla.org/en-US/firefox/addon/2166

Как уже упоминалось, вы можете проверить заголовки Server и X-Powered-By. Например, сервер stackoverflow имеет значение Server: Microsoft-IIS/7.0, поэтому я могу сделать вывод, что он работает на ASP.

Вот несколько случайных сайтов, которые я посетил, и несколько заголовков X-Powered-By:

  • X-Powered-By: PHP/5.2.9. (форум php)
  • X-Powered-By: Phusion Passenger (mod_rails/mod_rack) 2.0.3 (rubyonrails.org)

Другие веб-приложения имеют подпись в нижнем колонтитуле, например Powered-By (имя приложения).

0 голосов
/ 05 октября 2009

В заголовках HTTP вы (обычно, но не всегда) найдете заголовок Server, который указывает веб-сервер, используемый для сервера веб-страницы. Иногда вы можете найти заголовок с именем X-Powered-By, который указывает платформу / технологию, используемую веб-сервером.

...