Как определить на какой CMS сделан сайт?
Вопрос очень часто задается в разделе «Веб-строительство» на серче. Мне не составляет труда определить движок с которым мне ранее доводилось столкнутся. Да собственно и не известные мне движки можно вычислить, немного затратив время на поиски дополнительной информации. Если нужно посмотреть на какой CMS работает тот или иной сайт я пользуюсь одним из известных мне способов, указанных ниже. В скобках указана степень вероятности того, что после применения способа CMS определится (на мой взгляд).
- Просмотр html кода страницы (70%)
- Анализ файла robots.txt (30%)
- Внешний вид ссылок сайта (5%)
- Поиск файлов по заранее известному пути (5%)
- Поиск входа в админку (20%)
- Снифаем http трафик (5%)
- Смотрим на 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_sessionMaxSite CMS
maxsite_comuserWordPress
wp-settings
Вот я и поделился своими способами определения движков сайтов, если есть что добавить, или есть вопросы – пишите в комментариях.
В заключении скажу, что «спрятать» CMS можно, но это достаточно сложно. В большинстве случаев название движка определяется по перечисленным мною способам.
p.s. Возникла идея создания онлайн-сервиса, в который вбивается ссылка на сайт, а скрипт по своей базе вычисляет на какой движок похож проверяемый сайт. По моему это не плохая идея, да и приток ссылок и посетителей этот сервис даст. Сделаю, а определение для каждого отдельного движка буду добавлять со временем в виде дополнительных модулей.
Спонсоры поста
Интересные знакомства в Киеве и области.
Технология элос используемая для процедур лифтинга лица.
Если боишся экзамена в автошколе – частный автоинструктор поможет, проверено.


Это не у битрикса у osCommerce =)
А ышо у битрикса /bitrix/admin/ палицца
Очень полезно, спасибо. Для меня это всегда определение движка сайта было проблемой. Хоть и такая ситуация возникает нечасто.
Neolord, спасибо, поправил.
По моему ты за эти 2 параметра и писал на серче.
Идея здравая, весь вопрос кому это нужно? найти уязвимости на сайте и взломать его?
Статья понравилась! Спасибо!
Я бы еще добавил вывод сообщений о ошибке 404. Указанный Вами сайт karpiy.com.ua – «спалился» сразу же )
Постоянный гемор был с определением cms. Кроме вордпресса я не мог сам определить какая cms. Сейчас мои возможности расширились, благодаря этой статье. Женя спасибо! И мы все теперь знаем к кому обратиться в случае чего
Если достаточно большой опыт работы с движками, то можно и визуально определить
Женя, интересная идея сервиса!
Cuprum, вовсе не обязательно для поиска уязвимостей. Например, попадается сайт, который сделан во всех смыслах красиво, но определить движок сложно. Вот тут и поможет специализированный сервис.
Не думаю что метод хорош для определения, поставил бы ему 3-5%.
Большинство сайтов имеют свою 404-ю страницу, и палятся только единицы.
Согласен с Cuprum, а нафига оно нужно? Те кто разбираются и сами найдут/узнают что за двиг, а рядовому юзеру абсолютно побарабану какая цмска используется. ИМХО, если есть желание размять пальцы то задание самое оно.
Посмотри на серче как часто просят определить на каком движке сайт, как часто задают один и тот же вопрос «как определить цмс сайта?»
Ну к примеру увидел ты на сайте какой-то необычный ЧПУ – думаешь что за движок?
Или видишь на счетчике посещалка 100к в сутки и сайт летает, думашь что это за CMS такая что держит нагрузки такие.
Подождите с сервисом! Уже есть плагин для фф – wappalyzer.com
Думал над подобным сервисом в прошлом году. Пришёл к модели, аналогичной фильтрации спама: ставится порог срабатывания и вес признака. Если попадается 100% признак, то контрольная переменная принимает максимальное значение и мы получаем результат. Даже написал некоторые модули. А потом наткнулся на указанный выше wappalyzer и потребность тихо заснула. Да, он не определяет кучу всего, но он развивается, но на наполнение его базы работает большое число пользователей.
ну что же, раз есть такой плагин как wappalyzer, то смысла так же не вижу писать онлайн-сервис.
Интересный плагин. спасибо, Psyho.
Жень, почему нет смысла? Это отдельный сервис. А если будет сервис куда загнал сайт и он выдал все параметры, будет удобно.
Андрей, точно такие мысли у меня проскочили на днях, что определялку движка можно встроить в сервис типа pr-cy как один из пунктов определения (на ряду с тиц, пр и т.д.), который у меня стоит в планах создать. Так что мысли работают у нас в одном направлении
Думаю сейчас все-таки надо работать над чем то одним, а не браться за все сразу. В планах у меня на первом месте – скрипт проверки обратки, к тому же у меня заказы есть на руках, которые надо доделывать.
Все будет, позже
автор, можешь ответить на такой вопрос? если например фаил style.css находится в корне, то это стопроцентно означает, что сайт написан вручную (без cms)?..
Не обязательно. Можно ведь в том же шаблоне Вордпресса писать путь к css файлу в корне. Многие так делают, кому в лом писать <? bloginfo(‘template_url’) ?>/style.css
Хм, давно была такая идея. После Вашего поста появилось желание осуществить задуманное. Написал скрипт, сейчас пополняю базу CMS.
vp-master.ru здесь какой движок, как думаешь?
Ave, не могу сказать точно, т.к. не имел с таким движком дело, но cms там какая-то стоит
Нужна помошь для определения cms одного сайта…
Публично ссылку дать не могу, прошу написать в icq 452398888
Сайт террористов…
Есть ещё такой способ определния CMS сайта – сервис 2ip.ru/cms/
Этот сервис автоматически по многим CMS смотрит, но не по всем конечно.
«Уже есть плагин для фф – wappalyzer.com»
А как им пользоваться
Ни на одном из моих сайтов тулбар не появляется
Спасибо, помог способ с файлом robots.txt