Мар 2

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

Рубрики: Мысли Метки: , , , ,  Количество просмотров: 21 124

Вопрос очень часто задается в разделе «Веб-строительство» на серче. Мне не составляет труда определить движок с которым мне ранее доводилось столкнутся. Да собственно и не известные мне движки можно вычислить, немного затратив время на поиски дополнительной информации. Если нужно посмотреть на какой CMS работает тот или иной сайт я пользуюсь одним из известных мне способов, указанных ниже. В скобках указана степень вероятности того, что после применения способа CMS определится (на мой взгляд).

  1. Просмотр html кода страницы (70%)
  2. Анализ файла robots.txt (30%)
  3. Внешний вид ссылок сайта (5%)
  4. Поиск файлов по заранее известному пути (5%)
  5. Поиск входа в админку (20%)
  6. Снифаем http трафик (5%)
  7. Смотрим на Cookie которые ставит сайт (90%)

Отмечу, что при вычислении CMS, нужно обладать знаниями об устройстве директорий движков, некоторые особенности известных вам CMS. Без опыта будет проблематично делать какие-либо выводы. Это касается почти всех перечисленных мой пунктов.

1. Просмотр html кода страницы

Это самый верный способ вычислить «клиента». Если повезет, CMS будет озвучена в мета теге generator. К примеру на этом блоге:

<meta name=»generator» content=»WordPress 2.7″ />

Если не повезет, нужно присмотреться к путям вложенных сss, javascript, графических файлов. Для того же wordpress характерны в путях папка wp-content.

<script type=»text/javascript» src=»http://dimox.name/wp-content/themes/dimox.name/scripts.js?1235565796″></script>

Стоит так же посмотреть закомментированный код. В случае с Invision Power Board он спалится на

<!–ipb.javascript.start–>

2. Анализ файла robots.txt

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

В качестве примера файл robots.txt для Joomla выглядит следующим образом:

User-agent: *
Disallow: /administrator/
Disallow: /cache/
Disallow: /components/
Disallow: /editor/
Disallow: /help/
Disallow: /images/
Disallow: /includes/
Disallow: /language/
Disallow: /mambots/
Disallow: /media/
Disallow: /modules/
Disallow: /templates/
Disallow: /installation/

Возможны конечно отклонения, но директории в основном будут типичные.

3. Внешний вид ссылок сайта

Смотрите на внешний вид внутренних ссылок проверяемого сайта. Твердо сказать по ссылке что за CMS, возможно и не получится, учитывая что многие вебмастера настраивают ЧПУ под свои любимые схемы. Но в качестве дополнительного аргумента может помочь. Вот известные мне примеры характерные для некоторых CMS:

WordPress
/p=501 (в виде ссылок по умолчанию)
Joomla
/index.php?option=com_content&task=view&id=80&Itemid=202
/content/view/69/109/
MaxSite CMS
/page/ispolzuem-avatarki
vBulletin
/showthread.php?t=300606
IPB
/index.php?showtopic=36

Еще можно посмотреть на параметры сайта. Говорят (сам не работал) что для osCommerce характерны параметры cPath и cSid.

4. Поиск файлов по заранее известному пути

Способ в общем-то авантюрный, и использовать его есть смысл если есть подозрения на ту или иную CMS.

Очень красивый пример привел на SearchEngines Dangel в топике, где просили определить CMS сайта karpiy.com.ua. Очевидно у него возникли подозрения, что на сайте нет CMS, а в качестве движка используется фреймворк Codeigniter. Он подставил к адресу сайта путь к логотипу CI – /system/scaffolding/images/logo.jpg, и оказался прав: там действительно был CodeIgniter.

Так же можно запросить какой-нибудь стандартный файл движка на который упало подозрение. Это может быть css файл шаблона по умолчанию, корый неизменно копируется при заливке движка, файл readme.txt в корне  и т.д.

5. Поиск входа в админку

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

WordPress
/wp-admin/
Joomla
/administrator/
Danneo
/apanel/
MaxSite CMS
/admin/

6. Снифаем http трафик

Открываем любой сниффер http пакетов, к примеру CommView или плагин для Firefox (HttpFox), и просматриваем ответ сервера, а именно нас интересует http хеадер.

Битрикс ставит дополнительное поле, таким образом наверное дополнительно пиаря себя узкому кругу любителей снифать трафик

X-Powered-CMS: Bitrix Site Manager (582fd04dac6869e159ea80524ec43d0d)

7. Смотрим на Cookie которые ставит сайт

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

UMI CMS
umicms_session

MaxSite CMS
maxsite_comuser

WordPress
wp-settings

Вот я и поделился своими способами определения движков сайтов, если есть что добавить, или есть вопросы  – пишите в комментариях.

В заключении скажу, что «спрятать» CMS можно, но это достаточно сложно. В большинстве случаев название движка определяется по перечисленным мною способам.

p.s. Возникла идея создания онлайн-сервиса, в который вбивается ссылка на сайт, а скрипт по своей базе вычисляет на какой движок похож проверяемый сайт. По моему это не плохая идея, да и приток ссылок и посетителей этот сервис даст. Сделаю, а определение для каждого отдельного движка буду добавлять со временем в виде дополнительных модулей.

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

Другие статьи автора

Комментарии

  1. Цитировать Neolord

    Еще можно посмотреть на параметры сайта. Говорят (сам не работал) что для битрикса характерны параметры cPath и cSid.

    Это не у битрикса у osCommerce =)

    А ышо у битрикса /bitrix/admin/ палицца

  2. Цитировать Ave

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

  3. Цитировать Samborsky

    Neolord, спасибо, поправил.
    По моему ты за эти 2 параметра и писал на серче.

  4. Цитировать Cuprum

    Идея здравая, весь вопрос кому это нужно? найти уязвимости на сайте и взломать его? ;)

  5. Цитировать xoma

    Статья понравилась! Спасибо!
    Я бы еще добавил вывод сообщений о ошибке 404. Указанный Вами сайт karpiy.com.ua – «спалился» сразу же )

  6. Цитировать azbuka

    Постоянный гемор был с определением cms. Кроме вордпресса я не мог сам определить какая cms. Сейчас мои возможности расширились, благодаря этой статье. Женя спасибо! И мы все теперь знаем к кому обратиться в случае чего :)

  7. Цитировать Sk8er

    Если достаточно большой опыт работы с движками, то можно и визуально определить :)

  8. Цитировать Dimox

    Женя, интересная идея сервиса!

    Cuprum, вовсе не обязательно для поиска уязвимостей. Например, попадается сайт, который сделан во всех смыслах красиво, но определить движок сложно. Вот тут и поможет специализированный сервис.

  9. Цитировать Samborsky

    xoma
    Я бы еще добавил вывод сообщений о ошибке 404. Указанный Вами сайт karpiy.com.ua – “спалился” сразу же )

    Не думаю что метод хорош для определения, поставил бы ему 3-5%.
    Большинство сайтов имеют свою 404-ю страницу, и палятся только единицы.

  10. Цитировать alexander

    Согласен с Cuprum, а нафига оно нужно? Те кто разбираются и сами найдут/узнают что за двиг, а рядовому юзеру абсолютно побарабану какая цмска используется. ИМХО, если есть желание размять пальцы то задание самое оно.

  11. Цитировать Samborsky

    а нафига оно нужно?

    Посмотри на серче как часто просят определить на каком движке сайт, как часто задают один и тот же вопрос «как определить цмс сайта?»

    Ну к примеру увидел ты на сайте какой-то необычный ЧПУ – думаешь что за движок?
    Или видишь на счетчике посещалка 100к в сутки и сайт летает, думашь что это за CMS такая что держит нагрузки такие.

  12. Цитировать Psyho

    Подождите с сервисом! Уже есть плагин для фф – wappalyzer.com

  13. Цитировать IHHI

    Думал над подобным сервисом в прошлом году. Пришёл к модели, аналогичной фильтрации спама: ставится порог срабатывания и вес признака. Если попадается 100% признак, то контрольная переменная принимает максимальное значение и мы получаем результат. Даже написал некоторые модули. А потом наткнулся на указанный выше wappalyzer и потребность тихо заснула. Да, он не определяет кучу всего, но он развивается, но на наполнение его базы работает большое число пользователей.

  14. Цитировать Samborsky

    ну что же, раз есть такой плагин как wappalyzer, то смысла так же не вижу писать онлайн-сервис.

  15. Цитировать azbuka

    Интересный плагин. спасибо, Psyho.

  16. Цитировать azbuka

    Жень, почему нет смысла? Это отдельный сервис. А если будет сервис куда загнал сайт и он выдал все параметры, будет удобно.

  17. Цитировать Samborsky

    Андрей, точно такие мысли у меня проскочили на днях, что определялку движка можно встроить в сервис типа pr-cy как один из пунктов определения (на ряду с тиц, пр и т.д.), который у меня стоит в планах создать. Так что мысли работают у нас в одном направлении ;)

    Думаю сейчас все-таки надо работать над чем то одним, а не браться за все сразу. В планах у меня на первом месте – скрипт проверки обратки, к тому же у меня заказы есть на руках, которые надо доделывать.

  18. Цитировать azbuka

    Все будет, позже :)

  19. Цитировать sergey kalinin

    автор, можешь ответить на такой вопрос? если например фаил style.css находится в корне, то это стопроцентно означает, что сайт написан вручную (без cms)?..

  20. Цитировать Samborsky

    если например фаил style.css находится в корне, то это стопроцентно означает, что сайт написан вручную (без cms)?..

    Не обязательно. Можно ведь в том же шаблоне Вордпресса писать путь к css файлу в корне. Многие так делают, кому в лом писать <? bloginfo(‘template_url’) ?>/style.css

  21. Цитировать Павел

    Хм, давно была такая идея. После Вашего поста появилось желание осуществить задуманное. Написал скрипт, сейчас пополняю базу CMS.

  22. Цитировать Ave

    vp-master.ru здесь какой движок, как думаешь?

  23. Цитировать Samborsky

    Ave, не могу сказать точно, т.к. не имел с таким движком дело, но cms там какая-то стоит

  24. Цитировать GNabi

    Нужна помошь для определения cms одного сайта…
    Публично ссылку дать не могу, прошу написать в icq 452398888
    Сайт террористов…

  25. Цитировать CyberMax

    Есть ещё такой способ определния CMS сайта – сервис 2ip.ru/cms/
    Этот сервис автоматически по многим CMS смотрит, но не по всем конечно.

  26. Цитировать vitmys

    «Уже есть плагин для фф – wappalyzer.com»
    А как им пользоваться
    Ни на одном из моих сайтов тулбар не появляется

  27. Цитировать Алекс

    Спасибо, помог способ с файлом robots.txt

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