Как найти веб сервер

Обновлено 30.09.2018

Как узнать на каком веб сервере работает сайт

Добрый день, уважаемые читатели, иногда бывают такие ситуации, что вам понравился сайт, он очень быстро открывается и вы хотели бы понять на каком веб сервере он организован. Для реализации данной задачи, вам не потребуется ничего кроме браузера, я использую для этих целей Google Crome, но вы можете использовать любой, удобный для вас. Особенно данная информация подойдет для начинающих веб мастеров.

Режим разработчика

Для выполнения нашей задачи мы будем пользоваться режимом разработки, который присутствует в каждом браузере. Например в Google Chrome он вызывается нажатием на клавишу F12. Я его недавно использовал, когда делал переход с php 5 на php 7. Выбираете любой сайт и нажимаете F12. Выбираем пункт Network > Headers. Затем находим нужную страницу. Щелкнув по ней у вас откроется дополнительное окно в котором есть поле X-Powered By. В данном случае сайт работает на PHP 5.2.17.

Как узнать на каком веб сервере работает сайт-2

Вот вам пример IIS сервера, он называется ASP.NET.

Как узнать на каком веб сервере работает сайт-3

Еще мне нравится использовать сервис http://checkmy.ru/ он так же позволяет вбив в адресную строку, получить информацию о веб сервисе. Как видите, тут да же показывается версия IIS.

Как узнать на каком веб сервере работает сайт-4

Как определить CMS сайта

Кто не знает, CMS это консоль управления сайтом, по простому движок. У каждого движка свои возможности и функционал. Давайте я покажу метод, который вам позволит понять какая CMS или это самописный сайт, используется на ресурсе. Для решения данной задачи, я использую расширение для Google Chrome под названием RDS Bar. Открыв его вы в правом, верхнем углу увидите логотип движка, в данном случае это WordPress.

Как определить CMS сайта

Если он не показывает движок, то сайт разработан на самописной CMS. Вот вам пример Joomla.

Как определить CMS сайта-2

Так же можно определить движок и через код, для этого откройте любой сайт и нажмите сочетание клавиш CTRL+U, у вас откроется текстовая страница, с кодом данного сайта. Элементарным поиском можно проверить наличие слов, например Joomla.

Как определить CMS сайта-3

Если говорить про WordPress, то там вы сможете так же найти его упоминание, хотя большинство вебмастеров убирают упоминания о версии и движке, но если вы хоть немного знакомы со структурой WordPress, то с легкостью сможете его определить. Поищите такую конструкцию в ссылках wp-content/ это сто процентов каталог WordPress.

Как определить CMS сайта-4

Если вы знаете еще какие либо способы пишите в комментариях.

Как через CMD найти веб-сервер? mssql сервер?


  • Вопрос задан

    более трёх лет назад

  • 307 просмотров

Пригласить эксперта

SQL Server после установки запускает службу SQLBrowser которая слушает порт udp/1434, если найдешь утилиту ком.строки, которая умеет подключаться к udp портам, то сможешь просканировать сеть на наличие SQL Serverов.
Вот здесь вроде похожая по функционалу утилита предлагается: https://packetsender.com/
Сам не пользовался – первая ссылка в гугле.


  • Показать ещё
    Загружается…

16 мая 2023, в 01:43

2000 руб./за проект

16 мая 2023, в 00:11

300 руб./за проект

16 мая 2023, в 00:11

20000 руб./за проект

Минуточку внимания

Здравствуй, codeby!

Продолжаем пентест и сегодня научимся определять поставщика и версию веб-сервера, искать веб-приложения на сервере и взглянем на robots.txt.
Не пренебрегайте разведкой, ибо как вы увидите в некоторых примерах в статье – это очень важная часть тестирования. Результаты, полученные на этом этапе могут сильно повлиять на ход дальнейшего тестирования.

Определение веб-сервера.

Сегодня на рынке имеется множество разных производителей и версий веб-серверов, вот список некоторых:
Apache – свободный веб-сервер, наиболее часто используемый в UNIX-подобных операционных системах
nginx свободный веб-сервер, разрабатываемый Игорем Сысоевым и на сегодняшний день соперничает по популярности с Apache
IIS от компании Microsoft, распространяемый с ОС семейства Windows
LiteSpeed Web Server — проприетарный веб-сервер, разрабатываемый с упором на быстродействие
Google Web Server — проприетарный веб-сервер комании Google, используемый в веб-инфраструктуре Google

Представленные выше серверы являются самыми популярными на 2019 год. Все остальные вместе взятые веб-серверы, названия которых исчисляются десятками, используются менее чем в 1% веб-приложений.
Актуальную статистику можно посмотреть

Ссылка скрыта от гостей

.

Определение веб-сервера, используемого в тестируемом приложении – это критически важная задача для тестера. Знание типа и версии веб-сервера позволит тестировщику определить, есть ли для этого сервера известные уязвимости и как их эксплуатировать, что в свою очередь может сильно изменить ход тестирования.

Эта информация может быть получена путем отправки определенных команд на веб-сервер и анализа ответов от него, поскольку разные версии серверов могут по-разному реагировать на эти команды. Обратите внимание, что для точной идентификации веб-сервера обычно требуется отправить несколько разных команд, поскольку разные версии могут одинаково реагировать на одну и ту же команду. Редко разные версии реагируют одинаково на все команды HTTP. Таким образом, отправляя несколько разных команд, тестер может строить более точные предположения.

Самая простая и основная форма идентификации веб-сервера – это посмотреть на заголовок «Server» в ответе сервера. Для теста будем использовать Netcat.

Рассмотрим следующий HTTP-запрос:

31044

Как видим, в заголовке Server указан Apache.

Запрос-ответ на другой сервер:

31045

На этот раз заголовок Server отдает больше информации. Видим, что версия Apache 2.4.12 и операционная система FreeBSD.

Microsoft IIS 7.5

31046

nginx/1.12.2

31047

LiteSpeed

31048

Обратите внимание, что на сервер LiteSpeed кроме заголовка Server явно указывает заголовок X-Litespeed-Cache-Control.

Google Web Server (gws)

31049

Netscape-Enterprise/6.0

31050

Netscape-Enterprise/3.5-For-NetWare

31051

Однако, данный способ помогает не всегда. У админа сервера есть возможность изменить значение заголовка Server, не показывать его вообще и другими способами скрыть версию веб-сервера. К примеру мы можем получить такой ответ:

31052

Тут поставщика сервера по заголовку определить невозможно.

Более совершенные методы основаны на различных особенностях поведения веб-серверов. Например, каждому веб-серверу свойственно устанавливать свой порядок HTTP-заголовков в ответе.
Еще раз посмотрите на все примеры, приведенные выше. В примере с nginx заголовок Server является первым, и расположен перед заголовком Date. В примере c Apache заголовок Server располагается вторым по порядку, после заголовка Date, точно так, как в примере, где сервер мы не смогли определить. И точно так, как в примере с Netscape-Enterprise/6.0. Пример Netscape-Enterprise/3.5-For-NetWare по порядку заголовков похож на nginx/1.12.2.

Как видим, не все так однозначно, поэтому переходим к следующему способу, основанному на отправке некорректных запросов.
В запросе изменим версию протокола на несуществующую – HTTP/3.0.

Так реагирует Apache:

31054

Посмотрите, как по разному реагирует один и тот же сервер на неправильный и правильный запросы:

31055

Так отреагировал на неверный запрос наш неизвестный зверь Unknown-Webserver. От него приходят два ответа:

31056

Изменим запрос – укажем несуществующий протокол JUNK, и теперь приходит один ответ:

31057

Реакция LiteSpeed на несуществующую версию протокола HTTP/3.0):

31058

На несуществующий протокол JUNK/1.0 LiteSpeed ответит иначе:

31059

Анализируя полученную информацию, сравнивая ее с известными ответами различных серверов, пентестер строит и уточняет свои предположения.

Не обязательно использовать Netcat. Править HTTP-запросы и смотреть ответы сервера можно средствами браузера:

31060

Сервер codeby.net спрятан за cloudflare.

Само собой, что для получения тех же самых результатов существуют автоматизированные инструменты.
Например whatweb, который по умолчанию предустановлен в Kali:

31061

Если вы по какой-то причине не хотите напрямую связываться с целевым сервером, можете использовать онлайн-сервисы, к примеру

Ссылка скрыта от гостей

:

31062

Бывает, что ни один из рассмотренных способов не принес нужного результата. В таком случае вам могут помочь страницы об ошибках в веб-приложении, которые в себе могут раскрывать информацию о сервере.

Они могут быть такими (Tengine/2.0.0):

31063

такими (nginx/1.12.2):

31064

и даже такими (Apache/2.4.18):

31065

На последнем скрине видим, что раскрывается не только информация о версии сервера, но так же мы узнали версию используемого фреймворка и путь до корня веб-сервера.

robots.txt

Файл robots.txt используется для того, что бы поисковые роботы и сканеры знали, какие веб-страницы можно индексировать, а какие нет.
Для примера файл robots.txt Google.com:

31066

Такой файл имеется в большинстве веб-приложений и иногда может содержать в себе важную для тестера информацию, например, пути к административным интерфейсам. Кроме того, иногда в robots.txt указаны расширения файлов, которые нельзя (или можно) индексировать, что указывает на возможность наличия таких файлов на сервере.

Определение веб-приложений на сервере.

На следующем шаге нам необходимо выяснить, какие конкретно приложения размещены на веб-сервере. Многие веб-приложения имеют уязвимости, которые давно стали достоянием общественности, и которые можно использовать для получения удаленного доступа к серверу и другим приложениям, размещенным на том же сервере. Кроме того, некоторые приложения, которые предназначены для «внутреннего использования», часто плохо сконфигурированы и редко обновляются.

Например, имеется коммерческий сайт, на первый взгляд вполне «ухожен», да еще и IT-направленности. На домене аж четвертого уровня находим веб-приложение, написанное на языке Perl, расположенное на том же самом сервере, что и целевой сайт. Похоже, что админ чувствовал себя в безопасности, располагая на данном веб-сервере такое приложение, так как оно не планировалось для использования широким кругом лиц.
Хочется предупредить таких админов — это ложное чуство безопасности, по-другому называемое Security through obscurity.

Найденное приложение оказалось уязвимым к Ditectory Traversal и Local File Include. На скриншоте видно подключение файла /etc/passwd и вывод его содержимого в браузер:

31067

В прилжении были найдены и другие уязвимости. Например можно просматривать некоторые директории и файлы этого приложения через браузер:

31068

Обратите внимание на файл “password”:

31089

C этим паролем заходим в админку, а в админке есть возможность заливать произвольные файлы на сервер (в том числе исполняемые):

31088

Есть уязвимости в логике – средствами приложения можно просматривать список файлов в произвольных директориях, загрузить и удалить файл в любой директории, например в /etc. Такой эффект достигался путем манипулярования значением параметра DIR в запросе (смотрите в адресную строку):

31071

Оцените важность этапа разведки в тестировании на этом примере.

Как искать веб-приложения на сервере?
Для начала рассмотрим точки, где они могут находиться.

1. Неочевидные URL.
Очевидной точкой входа для веб-приложения является

Ссылка скрыта от гостей

. Но хотя это самая распространенная ситуация, ничто не заставляет приложение запускаться именно со слэша «/».
Например, одно и то же доменное имя может быть связано с тремя веб-приложениями, такими как:

Ссылка скрыта от гостей

,

Ссылка скрыта от гостей

,

Ссылка скрыта от гостей

.

2. Нестандартные порты.
Хотя веб-приложения обычно работают на портах 80 (http) и 443 (https), это вовсе не обязательно. Фактически, веб-приложения могут работать на любых TCP-портах и на них можно ссылаться, указав номер порта следующим образом:

Ссылка скрыта от гостей

3. Виртуальные хосты.
DNS позволяет связать один ip-адрес с несколькими доменными именами.
Например, IP-адрес 192.168.1.100 может быть связан с именами

Ссылка скрыта от гостей

, helpdesk.example.com, webmail.example.com. Не обязательно, чтобы все имена принадлежали одному домену example.com. Такой подход используется в виртуальном хостинге, который позволяет множеству сайтов располагаться на одном веб-сервере.

Теперь рассмотрим способы поиска приложений.

На самом деле не существует способа точно определить все веб-приложения на сервере. Например url1 в адресе

Ссылка скрыта от гостей

может быть непредсказуемым и вы никогда о нем не узнаете. Однако существует ряд методов, которые можно использовать для получения допольнительной информации.
К примеру, если веб-сервер неправильно сконфигурирован и позволяет листинг директорий прямо в браузере, как в примере ниже:

31072

в этом примере каждая директория является входом в самостоятельное веб-приложение.

Так же могут помочь поисковые системы. Укажите в поисковом запросе поиск по сайту:

31073

Можно выполнить поиск вручную или по словарю с помощью сканеров по вероятным адресам для почты, административной панели, старой версии сайта и т.д. Пример для поиска почтового сервиса:
https://www.example.com/webmail, https://webmail.example.com/ или https://mail.example.com/

Учтите обратную систуацию — веб-приложения с одним доменом, но разными поддоменами, могут располагаться на разных серверах.

Для поиска приложений на нестандартных портах воспользуйтесь сканером nmap:

31074

Тут на портах 8000 и 8080 распологаются http-службы.
При переходе по адресу в браузере на порту 8000 сервер запрашивает http-get-авторизацию, а на порту 8080 какой-то сайт.

31075

Желательно сканировать весь диапозон портов.

Другие примеры. На порту 20000 расположилась веб-почта, а на порту 8080 phpMyAdmin:

31076

31077

Следующий способ поиска приложений основан на DNS zone transfers.
Передача зоны DNS (DNS zone transfers) – является одним из механизмов репликации баз DNS между серверами. Имела очень широкое распространение, но в настоящее время вытесняется другими механизмами репликации, в связи с чем имеет ограниченое применение при тестировании. Однако стоит попробовать.
Прежде всего, тестеры должны определить серверы имен, обслуживающие целевой ip-адрес, пусть это будет адрес «1.1.1.1». Если доменное имя известно для 1.1.1.1 (пусть это будет

Ссылка скрыта от гостей

), его серверы имен можно определить с помощью таких инструментов, как nslookup, host или dig.

В следующем примере показано, как идентифицировать серверы имен для yandex.ru с помощью команды host:

31078

Теперь мы попробуем запросить записи для yandex.ru на одном из его серверов DNS, и если нам повезет, сервер нам вернет этот список записей:

31079

нам не повезло )

Можно попробовать выполнить обратный DNS-запрос. Отправляем IP, получаем имя:

31080

Тоже самое в nslookup:

31081

Тоже самое в dig:

31082

Вы можете воспользоваться онлайн сервисами, такими, как

Ссылка скрыта от гостей

или

Ссылка скрыта от гостей

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

31083

Как только вы определили все веб-приложения, не спешите их взламывать. Создайте список найденных приложений, вы к нему еще вернетесь. Определите, какие приложения принадлежат одному владельцу, а какие разным; Используются те же технологии, что и на целевом сайте, или другие; Находятся ли приложения с одинаковым доменом на одном и том же сервере, или на разных.

Что касается веб-сервера – определив его версию, установите сервер той же версии на свой компьютер и изучите его структуру и особенности. Выполните поиск по базам уязвимостей (Metasploit Exploitation Framework и searchsploit — как искать и как использовать эксплойты или

Ссылка скрыта от гостей

). Изучите конфиги и значения по умолчанию, а затем проверьте их на тестируемом сервере, вдруг админ забыл что-то поменять. Некоторые демонстрационные и тестовые веб-приложения, поставляемые с веб-серверами, тоже имеют известные уязвимости, поэтому стоит их изучить и попытаться найти на тестируемом сервере.

После того, как вы собрали максимально полную информацию о веб-сервере, можно приступать к дальнейшим действиям:
поиск утечек информации в исходном коде веб-страниц, определение точек входа и составление карты веб-приложения, чем и займемся в следующей статье.

А на сегодня всё, спасибо за внимание!


Загрузить PDF


Загрузить PDF

Если ваш веб-сайт слишком большого объема для веб-хостинга или вы хотите иметь возможность быстро вносить изменения на ваш веб-сайт, вам нужно настроить веб-сервер на компьютере, с которого вы сейчас просматриваете эту страницу. В этом руководстве описаны основы работы веб-сервера, а не конкретного программного обеспечения.

Шаги

  1. Изображение с названием Run A Webserver From Your Computer Step 1

    1

    Подберите компьютер для веб-сервера. Компьютер должен обладать достаточным объемом памяти для хранения большого количества информации. Процессор не очень важен. Чтобы минимизировать время простоя сервера, он должен быть подключен к роутеру с помощью витой пары, а не по беспроводной сети.

  2. Изображение с названием Run A Webserver From Your Computer Step 2

    2

    Найдите хорошее программное обеспечение для веб-сервера. Данное ПО работает как веб-сервер, поэтому оно очень важно. Если можете, найдите программу, которая будет работать в фоновом режиме, а не сделает ваш компьютер непригодным для использования. Одним из наиболее популярных серверов считается Apache.

  3. Изображение с названием Run A Webserver From Your Computer Step 3

    3

    Настройте веб-сервер. Обычно в программе веб-сервера есть инструкция, как это сделать.

  4. Изображение с названием Run A Webserver From Your Computer Step 4

    4

    Создайте простую главную страницу для проверки веб-сервера. Убедитесь, что вы поместили файл в папку, указанную в документации к веб-серверу, и назвали его index.

  5. Изображение с названием Run A Webserver From Your Computer Step 5

    5

    Проверьте, видите ли вы страницу по адресу http://127.0.0.1/. Если вы видите веб-страницу, переходите к следующему шагу. Если сервер не работает на 80 порту, тогда проверьте веб-сайт по адресу http://127.0.0.1:номерпорта/. Если у вас никак не получается увидеть веб-страницу, перенастройте веб-сервер.

  6. Изображение с названием Run A Webserver From Your Computer Step 6

    6

    Попросите друга проверить доступность вашего сайта по адресу http://внешний-IP-адрес/. Если он/она его увидит, можете переходить к следующему шагу. Если нет, смотрите советы.

  7. Изображение с названием Run A Webserver From Your Computer Step 7

    7

    Приобретите доменное имя и настройте его на ваш внешний IP-адрес. В случае использования динамического IP-адреса убедитесь, что у регистратора доменных имен есть сервис динамических доменов имен.

  8. Изображение с названием Run A Webserver From Your Computer Step 8

    8

    Сделайте свой сайт. Если вы хотите использовать поддержку сценариев на стороне сервера, тогда вам нужно будет установить и настроить эти программы на своем сервере.

    Реклама

Советы

  • Не выключайте компьютер. Вы можете выключить монитор или, если программа веб-сервера работает в фоне, компьютер можно перевести в спящий режим.
  • Также ваш веб-сайт можно найти по адресу http://localhost/.
  • Если вы не видите веб-сайт по адресу http://127.0.0.1/, возможно, вам нужно разблокировать порт 80 в межсетевом экране.
  • Если ваш сайт по адресу http://ваш-внешний-IP-адрес/ не виден за пределами домашней сети, и вы находитесь за маршрутизатором, вам нужно настроить переадресацию порта. Так как маршрутизаторы отличаются между собой, есть множество способов это сделать. Смотрите инструкцию по эксплуатации вашего маршрутизатора или найдите инструкцию в Интернете.
  • Вероятнее всего, что вы не сможете увидеть свой веб-сайт через домен, который приобрели. Для этого используйте адреса http://127.0.0.1/ или http://локальный-IP-адрес/.

Реклама

Предупреждения

  • Узнайте у вашего интернет-провайдера, можете ли вы запустить домашний сервер. Некоторые просят не использовать 80 порт. Если так, вам нужно настроить веб-сервер на прослушивание другого порта.
  • Не ставьте большие файлы на загрузку, это сделает работу вашего компьютера в Интернете намного более медленной.

Реклама

Что вам понадобится

  • Компьютер
  • Программа веб-сервера
  • Стабильное интернет-подключение

Об этой статье

Эту страницу просматривали 27 804 раза.

Была ли эта статья полезной?

Жизнь в Интернете – это не просто рутинное исследование платформы. Есть миллионы вещей, которых мы не знаем, есть сотни, если не тысячи процессов, команд и элементы поиска . Сами страницы размещают свои серверы с помощью технографических процессов, которые помогают гарантировать, что их платформа не выйдет из строя.

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

Знание того, где размещены серверы, даст нам основу для безопасность веб-сайта . Но в дополнение к этому защитите компьютер от возможных нарушений безопасности и конфиденциальности .

Что такое сервер и веб-сервер?

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

Или, Протоколы HTTP , или веб-серверы, – это программное обеспечение, использующее Протокол передачи гипертекста или HTTP, задача которого заключается в хранении информации, охватываемой веб-сайтами, от мультимедийных, текстовых и других. Вдобавок ко всему, он постоянно и безопасно предоставляет всю эту информацию пользователям в Интернете и через браузер, в котором он запрашивал информацию.

Найдите сервер из командной консоли

Мы найдем сервер веб-страницы через командную консоль. Мы будем использовать для этого две команды, которые будут необходимо продолжить . Команды, которые будут использоваться, будут командой tracert и командой nslookup.

Это простой процесс, вам не нужно быть экспертом в этой области и тем более учителем информатики. В строке поиска копируем слова CMD, консоль управления откроется . Сначала мы воспользуемся командой Tracert, которая является диагностическим элементом, который позволяет нам отслеживать или изучать пакеты, поступающие из точки в сети.

С помощью команды Tracert также можно получить статистику задержки сети исходных пакетов, которая будет понятна как расстояние приблизительны общение концы из них. Мы приступаем к написанию названия заказа и следуем по ним веб-адресу страницы, которую мы хотим исследовать, важно, чтобы мы написали ее полностью, не пропуская «www» или другие элементы.

Уже написано, войдем, ждем и отобразится IP-адрес , а затем он покажет нам на экране различные переходы, которые дает процесс для получения нужной нам информации, пакеты будут приходить и продолжить с переходами, которые передадут DI-USER с добавлением “.Com”, что означает что для получения информации о веб-странице вам необходимо подключиться к ней.

Для команды nslookup это будет то же самое, за исключением того, что маршрут не будет отображаться, т.е. переходы не будут отображаться при просмотре пакетов. Это команда, используемая, чтобы узнать, положительно разрешает IP-адреса и имена. Следовательно, он используется для определения IP-адреса через имя веб-страницы. Повторим процесс, как и с предыдущей командой.

Как определить место проживания?

Для этого необходимо выполнить геолокацию через сам Интернет, что поддерживается просмотр Google Maps, позволит нам динамически наблюдать за процессом и даже с помощью спутникового зрения проследить его происхождение.

Мы возьмем IP-адрес, который запустила команда, возьмем страницу отслеживание геолокации наиболее популярный , который показывает нам, куда идет информация, прежде чем она попадет в руки пользователей или зрителей. Он будет проходить через разные серверы, пока не достигнет исходного сервера или родительского передатчика.

Добавить комментарий