Сканнер уязвимостей CMS Drupal

drupalscan

Не секрет, что идеальных сканнеров уязвимостей не существует, особенно если такой сканнер стремится быть универсальным. Как правило, чем выше поле действия сканнера, тем ниже скорость работы, а также процент его эффективности. Эту идею подтверждает проект OWASP Joomla Vulnerability Scanner, который нацелен на самую популярную CMS. Испытав сканнер, я остался очень доволен результатами и решил написать нечто подобное для другого не менее известного продукта – CMS Drupal.

Drupal заслуженно является одной из самых безопасных CMS. Поддержка безопасности CMS в отличие от, к примеру, WordPress находится на более высоком уровне благодаря активному тестированию CMS специальной группой Drupal Security Team и своевременному выпуску патчей и апдейтов, что подтверждается доверием пользователей. Тем не менее, как и у любого популярного веб-приложения, у Drupal есть свои уязвимости, что и послужило основнанием для создания простого сканнера.

Сравнивая с тем же WordPress’ом, Drupal не выдает свою версию прямо в исходном коде главной страницы, поэтому для определения версии наиболее эффективным является метод сравнения “отпечатков” (fingerprinting). В своем сканнере я постарался максимально точно получить версию, однако этот процесс осложняется тем фактом, что изменения в Drupal от версии к версии обычно не затрагивают общедоступные css-стили и js-скрипты, которые как раз и подвергаются проверке.

Фактически определяется лишь версия, но это позволяет получить более-менее четкое представление по возможным уязвимостях в CMS. Выводятся идентификатор уязвимости, ссылка на официальное подтверждение разработчиками, тип (ядро или модуль, модули пока в списке todo), описание и затронутые версии.

Сканнер написан на PHP, фронтенд создан с помощью ExtJS 3.0. Демо здесь: http://raz0r.name/drupalscan/, исходники забираем отсюда. Жду предложения и критику.


Posted

in

by

Comments

15 responses to “Сканнер уязвимостей CMS Drupal”

  1. demimurych Avatar
    demimurych

    Непонятна цель такого сканера.

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

    Если это средство для разработчика, то грош цена такому разработчику который САМ не следит за тем что происходит с кодом его ЦМС.

  2. cer Avatar
    cer

    тоже непонял какой толк от этого сканера.

  3. bet Avatar

    Если это средство для разработчика, то грош цена такому разработчику который САМ не следит за тем что происходит с кодом его ЦМС.

    Ты просматриваешь код своих CMS? Очень сложно его просмотреть и понять, т.к. объем все таки немаленький имх. Мало у кого найдется достаточое количество времени. И подобные программы облегчают поиск уязвимостей в своих CMS.

  4. Raz0r Avatar

    @demimurych
    спасибо за комментарий, действительно не учел очобенности с changelog. Доработал алгоритм, теперь приоритет отдается фингерпринту, затем по changelog, если таковой присутствует, сравнивается версия: если она подтверждается, то берется точная версия из changelog, если данные расходятся, то вызывается исключение. Также добавил ветку 4.7.* (это 20 версий). Итого теперь распознается 54 версии друпала. Обновленная версия по прежней ссылке.

  5. Spider Agent Avatar

    однозначно, софтина полезная. Raz0r, +1 тебе

  6. Alek Avatar
    Alek

    Мне тоже понравилась, спасибо

  7. SergiuC Avatar
    SergiuC

    и как понять/прочесть результаты сканирования??

  8. Alex Avatar

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

  9. _AXE_ Avatar
    _AXE_

    Не впечатлил сканер. Я честно вообще не переношу Друпал, мне по душе Битрикс.

  10. Terrano Avatar
    Terrano

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

  11. pol_uha Avatar

    Странно, пытался просканить сайт с Drupal6, а мне выдало:
    Not a Drupal 5/6 backend

  12. Raz0r Avatar

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

  13. Rostov114 Avatar

    Посмотрел код, стало интересно, как проверит CHANGELOG на версию если при не удачной проверке по фингерпринтам, он выходит из проверок…

  14. Raz0r Avatar

    Соответственно не проверит, так как будет думать, что сайт не на друпале.
    Кстати недавно нашел BlindElephant (blindelephant.sourceforge.net) – универсальный фингерпринтер для большинства популярных CMS, включая Drupal. Очень любопытный инструмент.

  15. honita Avatar
    honita

    pol_uha, 26. Сентябрь 2011, 11:12

    Странно, пытался просканить сайт с Drupal6, а мне выдало:
    Not a Drupal 5/6 backend

    тоже самое вывелось

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.