Проверяем на уязвимости любой сайт с помощью Nikto
Всем привет! В марте OTUS запускает новый курс «Практикум по Kali Linux». В преддверии старта курса подготовили для вас перевод полезного материала. Также хотим пригласить всех желающих на бесплатный урок по теме: «Denial of Service атаки и защита от них».
Перед тем как атаковать любой сайт, хакер или пентестер сначала составляет список целей. После того, как он проведет хорошую разведку и найдет слабые места для «наведения прицела», ему понадобится инструмент сканирования веб-сервера, такой как Nikto, который поможет найти уязвимости – потенциальные вектора атаки.
Nikto – это простой открытый сканер веб-серверов, который проверяет веб-сайт и сообщает о найденных уязвимостях, которые могут быть использованы для эксплойта или взлома. Кроме того, это один из наиболее широко используемых инструментов сканирования веб-сайтов на уязвимости во всей отрасли, а во многих кругах он считается отраслевым стандартом.
Несмотря на то, что этот инструмент чрезвычайно эффективен, он не действует скрытно. Любой сайт с системой обнаружения вторжений или иными мерами безопасности поймет, что его сканируют. Nikto был разработан для тестирования безопасности и о скрытности его работы никто не задумывался.
Как правильно использовать Nikto
Если вы просто запустите Nikto на целевом веб-сайте, вы, возможно, не поймете, что делать с информацией, полученной после сканирования. Nikto на самом деле больше похож на лазерную указку, которая влечет за собой выстрел, и через некоторое время вы увидите, как это работает.
Для начала давайте поговорим о целях (target). Целью может оказаться почти любое место, куда может нанести свой удар хакер, например, сетевые принтеры или веб-сервер. Когда мы чуть позже перейдем к использованию Nikto, нам нужно будет предоставить ему один из трех видов информации: IP-адрес для локальной службы, веб-домен для атаки или веб-сайт SSL/HTTPS.
Прежде чем начинать сканирование с помощью Nikto, лучше предварительно провести разведку с помощью такого открытого инструмента как Maltego. Такие инструменты могут оказаться полезными при создании профиля и формировании более конкретного списка целей, на которых стоит сосредоточиться. Как только вы это сделаете, можно будет воспользоваться Nikto для поиска потенциальных уязвимостей в целях из вашего списка.
Если повезет, уязвимость с известным эксплойтом будет найдена, а значит, что уже существует инструмент, который поможет воспользоваться этим слабым местом. С помощью соответствующего инструмента, который автоматически эксплуатирует уязвимость, хакер может получить доступ к цели для выполнения любого количества скрытых атак, таких как, например, добавление вредоносного кода.
Шаг 1: Установка Nikto
Если вы используете Kali Linux, то Nikto будет предустановлен, поэтому вам ничего скачивать и устанавливать не придется. Он будет расположен в категории «Vulnerability Analysis». Если у вас его по какой-то причине нет, вы можете скачать Nikto с его репозитория на GitHub или просто использовать команду apt install .
Если вы работаете на Mac, то можете использовать Homebrew, чтобы установить Nikto.
Шаг 2: Познакомьтесь с Nikto
Перед сканированием веб-серверов с помощью Nikto, воспользуйтесь параметром -Help, чтобы увидеть все, что можно делать с этим инструментом:
Шаг 3: Используйте базовый синтаксис
Как вы видите из предыдущего шага, у Nikto есть много вариантов использования, но для наших целей мы будем использовать базовый синтаксис <IP или hostname> с фактическим IP-адресом или именем хоста без угловых скобок.
Однако, Nikto способен выполнять сканирование SSL и порта 443, который используют сайты HTTPS (HTTP использует по умолчанию 80 порт). Таким образом, мы не ограничиваемся только сканированием старых сайтов, мы может проводить оценку уязвимостей сайтов, использующих SSL, что на сегодняшний день является почти обязательным требованием для индексирования в результатах поиска.
Если мы знаем, что у целевого сайта есть SSL, мы можем указать это в Nikto, чтобы сэкономить некоторые время на сканировании, добавив -ssl в конец команды.
Шаг 4: Сканируйте сайты с SSL
Например, давайте начнем со сканирования сайта pbs.org , чтобы увидеть типы информации, которые может выдать сканирование Nikto. После того, как он подключается к порту 443, мы видим какую-то полезную информацию о шифровании и другие детали, такие как, например, то, что сервер работает на nginx, однако здесь для нас не так много интересного.
Шаг 5: Сканирование IP-адреса
Теперь, когда мы провели быстрое сканирование веб-сайта, мы можем попробовать использовать Nikto в локальной сети, чтобы найти embedded-сервера, такие как страница логина роутера или HTTP-сервис на другой машине, который представляет из себя просто сервер без веб-сайта. Чтобы узнать IP-адрес мы будем использовать ifconfig .
IP-адрес, который нам нужен относится к «inet». На нем мы можем использовать ipcalc для того, чтобы получить сетевой диапазон. Если у вас нет ipcalc, вы можете установить его с помощью команды apt install ipcalc , а затем повторить попытку. Диапазон будет стоять после «Network», в моем случае это 192.168.0.0/24.
Теперь мы хотим запустить Nmap, чтобы найти службы, работающие в этом сетевом диапазоне. Давайте сканировать 80 порт с помощью нашего диапазона, для этого допишем -oG (grepable output), чтобы получить только те хосты, которые подняты и работают, то есть те, которые отвечают, говоря, что 80 порт открыт. Затем мы сохраним все это в файл, который я назову nullbyte.txt , вы, в свою очередь, можете назвать его как угодно.
Есть небольшой фокус, который поможет отправить все хосты прямо в Nikto для сканирования. Мы используем cat для чтения входных данных, хранящихся в нашем документе nullbyte.txt (или как вы его назвали самостоятельно). После этого мы используем awk – специальный инструмент в Linux, который поможет найти следующий шаблон, где Up означает, что хост поднят, а print $2 значит, что нужно вывести второе слово в каждой строке, то есть только IP-адрес. Затем, полученные данные мы отправим в файл, который называется targetIP.txt (или как вам захочется).
Теперь мы можем просмотреть содержимое нашего нового файла с помощью cat, чтобы увидеть все IP-адреса, у которых открыт 80 порт.
Такой формат идеально подойдет Nikto, поскольку он может легко интерпретировать подобные файлы. Таким образом, мы можем отправить этот вывод в Nikto следующей командой.
Результаты будут аналогичны тем, что мы получили при сканировании с SSL.
Шаг 6: Сканирование HTTP-сайта
Мы просканировали защищенный веб-сайт и IP-адрес в локальной сети, теперь настало время искать незащищенный веб-домен, который использует 80 порт. Для этого примера я использую сайт afl.com.au, у которого не было SSL в тот момент, когда я проводил это сканирование.
Из информации выше, мы понимаем, что присутствует сервер Varnish и некоторые заголовки, которые могут подсказать, как сконфигурирован веб-сайт. Однако более полезная информация – это обнаруженные каталоги, которые могут помочь зацепить конфигурационные файлы, содержащие учетные данные или другие вещи, которые были неправильно сконфигурированы и оказались доступными непреднамеренно.
Элементы с префиксом OSVDB – это уязвимости, о которых сообщается на Open Source Vulnerability Database (сайте, который закрылся в 2016 году). Он похож на другие базы данных уязвимостей, такие как SecurityFocus, Microsoft Technet и Vulnerabilities and Exposures (https://cve.mitre.org/). Лично мне ближе National Vulnerability Database.
Несмотря на то, что наше сканирование не выявило никаких критических уязвимостей, которые можно было бы эксплуатировать, вы можете использовать справочный инструмент CVE для перевода идентификатора OSVDB в запись CVE, чтобы вы могли воспользоваться одним из сайтов, приведенных выше.
Допустим, вы нашли что-то достойное исследования, например CVE-2018-10933, уязвимость Libssh, о которой мы подробнее говорили ранее. CVE содержит информацию о том, как ее эксплуатировать, насколько уязвимость серьезна (например, критическая уязвимость) и некоторые другие сведения, которые могут помочь определиться с вектором атаки. Если это что-то стоящее, вы можете поискать с Metasploit, поскольку кто-то скорее всего уже разработал модуль, который поможет легко эксплуатировать эту уязвимость.
Шаг 7: Сканирование вместе с Metasploit
Одна из лучших вещей в Nikto заключается в том, что вы можете просто экспортировать информацию, полученную при сканировании, в формат, который сможет прочитать Metasploit. Для этого просто используйте команды для выполнения сканирования, приведенные выше, но добавьте к ним в конце флаги -Format msf+. Этот формат может помочь быстро сопоставить данные, полученные с помощью эксплойта.
Итак, в сегодняшнем руководстве мы перешли от определения цели к поиску уязвимостей в ней, а затем связали найденные уязвимости с эксплойтом, чтобы нам не пришлось делать всю работу вручную. Поскольку Nikto не работает скрытно, разумно выполнять эти сканирования через VPN, Tor или другой тип сервиса, чтобы ваш IP-адрес не был помечен как подозрительный.
Поиск уязвимостей на сайте — 12 бесплатных инструментов
Одним из наиболее важных вопросов в области информационных технологий является безопасность. Знаете ли вы, что 96% тестируемых приложений имеют уязвимости?
Ниже приведена диаграмма от Cenzic, на которой показаны различные типы найденных уязвимостей.
В этой статье я расскажу о бесплатных инструментах, позволяющих осуществить поиск уязвимостей на сайте, а также проверить его на наличие вредоносных программ.
Список рассматрива емых инструментов:
- Scan My Server;
- SUCURI;
- Qualys SSL Labs, Qualys FreeScan;
- Quttera;
- Detectify;
- SiteGuarding;
- Web Inspector;
- Acunetix;
- Asafa Web;
- Netsparker Cloud;
- UpGuard Web Scan;
- Tinfoil Security.
1. Scan My Server
Сканер сайта онлайн ScanMyServer предоставляет один из самых полных отчетов по тестам безопасности: SQL-инъекциям, межсайтовому скриптингу, инъекциям PHP-кода, раскрытию источника, установке HTTP-заголовков и многое другое.
Отчет о проверке отправляется по электронной почте с кратким описанием найденных уязвимостей.
2. SUCURI
SUCURI является самым популярным бесплатным сканером вредоносных программ. Вы можете быстро проверить сайт на уязвимости онлайн, наличие вредоносного кода, SPAM-инъекций и его присутствие в различных черных списках.
SUCURI также очищает и защищает сайт от онлайн-угроз. Инструмент работает на любых CMS, включая WordPress, Joomla, Magento, Drupal, phpBB и т. д.
3. Qualys SSL Labs, Qualys FreeScan
SSL Labs является одним из популярных инструментов для сканирования веб-сервера SSL. Он обеспечивает углубленный анализ https URL-адреса, общий рейтинг, шифр, версию SSL / TLS, имитацию рукопожатий, информацию о протоколе, BEAST и многое другое.
FreeScan проверяет сайты на OWASP Top Risks и вредоносные программы, по параметрам безопасности SCP, а также выполняет другие тесты. Чтобы выполнить сканирование, необходимо зарегистрировать бесплатную учетную запись.
4. Quttera
Quttera проверяет сайт на наличие вредоносных программ и уязвимостей.
Этот инструмент позволяет провести проверку сайта на уязвимости онлайн на наличие вредоносных файлов, подозрительных файлов, потенциально подозрительных файлов, phishTank, а также присутствие в списках безопасного просмотра (Google, Yandex) и списках вредоносных программ.
5. Detectify
Detectify — это сканер сайта, основанный на SaaS. Он позволяет проводить более 100 автоматических тестов безопасности, включая тест OWASP Top 10, наличие вредоносного программного обеспечения и многие другие.
Detectify предоставляет 21-дневную бесплатную ознакомительную версию.
6. SiteGuarding
SiteGuarding позволяет проверить домен на наличие вредоносного программного обеспечения, присутствия в черных списках, инъекций спама и многого другого.
Сканер совместим с WordPress, Joomla, Drupal, Magento, osCommerce, Bulletin и другими платформами.
SiteGuarding также помогает удалить вредоносное программное обеспечение с сайта.
7. Web Inspector
Web Inspector сканирует сайт и предоставляет отчеты — «черный список», «фишинг», «вредоносные программы», «черви», «бэкдоры», «трояны», «подозрительные фреймы», «подозрительные подключения».
8. Acunetix
Acunetix проверяет весь сайт на наличие более 500 различных уязвимостей.
Инструмент предоставляет бесплатную пробную версию на 14 дней.
9. Asafa Web
AsafaWeb предлагает сканирование трассировки, пользовательских ошибок, трассировки стека, патча Hash DoS, журнала EMLAH, HTTP Only Cookies, Secure Cookies, Clickjacking и многого другого.
10. Netsparker Cloud
Netsparker Cloud — это сканер безопасности корпоративных веб-приложений, который способен обнаружить более 25 критических уязвимостей. Он бесплатен для проектов с открытым исходным кодом. Также можно запросить пробную версию инструмента.
11. UpGuard Web Scan
UpGuard Web Scan — это инструмент оценки внешних рисков, который использует общедоступную информацию по различным факторам, включая SSL, атаки Clickjack, Cookie, DNSSEC, заголовки и т. д. Он все еще находится на стадии бета-тестирования, но его стоит попробовать.
12. Tinfoil Security
Tinfoil Security сначала проверяет сайт на наличие 10 уязвимостей OWASP, а затем на другие известные угрозы. В конечном итоге вы получите отчет о действиях и сможете повторно просканировать сайт после внесения необходимых исправлений.
Полная настройка займет около 5 минут. Просканировать сайт можно даже если он защищен или для входа на него требуется регистрация.
Одним из основных факторов безопасности любого сайта является постоянный контроль, поэтому вы получите уведомление, когда он дает сбой или подвергается взлому.
Перечисленные инструменты позволяют сканировать сайт по запросу и запланировать автоматическую проверку безопасности. Надеюсь, что приведенный список специализированных средств поможет вам выполнить проверку безопасности сайта.
Как за 30 минут бесплатно проверить свой сайт на наличие уязвимостей
Пошагово расскажу как за полчаса комплексно проверить безопасность сайта даже если вы не программист. Статья будет полезна разработчикам, тестировщикам, а также владельцам сайтов.
Всем привет! Сейчас большинство статей в интернете по теме поиска уязвимостей на своем сайте делятся на два типа: это либо банальный список онлайн-сканеров без подробных инструкций как ими пользоваться, либо хардкорные мануалы для фанатов информационной безопасности и прочих хакеров, где без Линукса не разобраться.
Поэтому я решил написать статью, которой мне не хватало, когда я только начинал разбираться в этой теме. Надеюсь эта статья сделает интернет чуть-чуть безопаснее, а вам поможет найти даже те уязвимости, которые вы изначально не закладывали.
- Backend разработчикам: вы сможете быстро тестировать свои веб-приложения на наличие уязвимостей и тем самым повысить их надежность и безопасность данных ваших пользователей. (Если конечно исправите уязвимости, которые найдете )
- Frontend разработчикам: пока npm собирает ваш фронтенд, вы как раз успеете проверить API вашего веб-приложения. А если повезет и вы сможете найти уязвимости, то вы не только поможете своей компании в будущем сохранить свою репутацию (а себе выбить премию), но и сможете целую неделю незлобно троллить ваших backend разработчиков и DevOps инженеров в общем чате.
- Тестировщикам: освоите новые инструменты и сможете требовать законную прибавку к зарплате, а также немного считать себя хакерами.
- Владельцам веб-сайтов и стартаперам без раунда: вы сможете самостоятельно базово проверить свой сайт без привлечения дорогостоящих экспертов, а также сможете лучше понимать технические особенности работы вашей бизнес-машины.
Немного фактов и мнений:
Факт доказанный практикой и личным опытом: даже если у вас небольшой интернет-магазин, в 2020 вы уже будете подвергаться кибератакам по несколько раз в день.
С момента попадания в индекс Google\Yandex ваш сайт становится мишенью десятка (а если сайт крупный, то сотни) специализированных ботов, которые круглосуточно мониторят даже небольшие сайты и серверы для поиска уязвимостей и дальнейшего взлома.
У вас может быть грамотная архитектура, красивый дизайн, быстрая скорость загрузки, но всего лишь небольшая ошибка или невнимательность разработчика может серьезно навредить вашему бизнесу. Поэтому необходимо регулярно проверять свой сайт или веб-приложение на наличие уязвимостей.
Хорошая новость — сейчас можно самостоятельно просканировать свое веб-приложение различными бесплатными сканерами безопасности и найти уязвимые места заранее.
Внимание, использование подобных сканеров уязвимостей на чужих сайтах без разрешения владельцев является нарушением закона почти во всех странах.
Теперь я наглядно и пошагово покажу как с помощью таких инструментов самостоятельно проверить свой сайт, а также как разобраться в сгенерированных отчетах .
Что будем проверять:
- Доступ к серверу и исходным кодам
- Уязвимости веб-серверов (Apache или NGINX)
- SQL инъекции
- Межсайтовый скриптинг (XSS).
- Устойчивость приложения и сервера к перебору паролей
- Получение доступа к системным каталогам
Если вы пока еще не знаете, что означают все эти страшные слова и сокращения на английском, то не переживайте, по ходу статьи я обязательно объясню их значения.
В качестве подопытного сайта я написал и развернул небольшой самописный блог с возможностью оставлять комментарии к статьям и добавил в него весь джентльменский набор:
- Многочисленные SQL инъекции
- XSS уязвимости
- Простой пароль для ssh доступа
- Открытый ftp
- Отсутствие защиты от перебора паролей
- База данных, доступная из интернета с простым паролем
- Слишком широкие права доступа к папкам и файлам
В общем все так, как делать не надо.
В кибератаках, также как и войне, все начинается с разведки, чтобы найти уязвимое место соперника. Для того, чтобы эффективно атаковать, злоумышленникам необходимо знать, какое ПО используется на сервере и какие двери открыты или закрыты недостаточно крепко. К несчастью владельцев сайтов, сейчас, чтобы все это узнать, нужно лишь здравое любопытство и утилита nmap.
Nmap — это набор инструментов для сканирования сетевой инфраструктуры веб-сервиса. Он может быть использован для проверки безопасности, для идентификации запущенных серверных приложений.
Nmap позволяет запускать готовые скрипты, которые значительно упрощают анализ вашего сервера. Минус — теперь даже смышленный школьник, вооружившись пачкой скриптов, может предоставлять опасность для серверов компании.
Интересный факт — сyществует целая галерея фильмов, где утилита nmap используется для кибератак. Часть представлено в галерее, под каждой картинкой описание. Более полный список и разбор можно посмотреть по ссылке
Посмотрели картинки, теперь можно и поработать! Приступаем к делу.
В установке нет ничего сложного. Примеры установки покажу на примере Windows и Mac OS. В дистрибутивах Linux последняя версия nmap обычно установлена по умолчанию.
Установка на Windows 10
Перейдите по ссылке загрузки nmap и загрузите последнюю стабильную версию. На данный момент (16.09.2020) эта версия 7.80. Скачать ее можно по этой ссылке с официального сайта. Дальше запустите nmap-7.80-setup.exe от имени администратора. Программа установки по умолчанию предложит установить все компоненты, галочки можно не снимать. Описывать шаги далее подробно ( Примите лицензионное соглашение и тд) не буду, там все изи.
Запуск nmap на Windows
Запускать nmap можно как в режиме графического интерфейса, так и через командную строку.
Для запуска графической оболочки введите в строку поиска nmap и в результатах выберите nmap — Zenmap GUI
Для дальнейшей работы вы можете вводить нужные команды в поле «Команда», а затем нажимать на кнопку Сканирование. Результаты сканирования в виде текстового отчета вы можете посмотреть в окне, которое я старательно подписал «Отчет»
Мне ближе использование nmap через командную строку aka консоль. Для запуска командной строки введите «cmd» в строку поиска на панели инструментов. Нажмите Enter и затем откроется командная строка. Дальше прямо в нее можно вводить nmap команды.
Командная строка в Windows 10 c введенной командой nmap выглядит вот так:
Нажмите Command+Space и введите «Терминал», после этого нажмите Enter. Дальше последнюю версию nmap можно установить через менеджер HomeBrew c помощью следующей команды, которую нужно ввести в терминале:
Для запуска nmap просто начинайте команду с nmap, ничего сложного 🙂
Также нам надо установить скрипт nmap_vulners, который будет проводить проверку на то, содержатся ли уязвимости в ПО, которое мы используем. Для его установки нужно скачать файлы скрипта и перенести файлы http-vulners-regex.nse и vulners.nse в C:\Program Files (x86)\Nmap\scripts.
Если у вас Mac OS, то перенести файлы скрипта нужно в папку /usr/local/Cellar/nmap/<version>/share/nmap/scripts/
Для начала запускаем сканирование своего сервера командой ниже, чтобы выяснить какие порты используются и для чего. Команда выглядит так (подставьте свой ip или домен). Команду нужно вводить в окне консоли, либо если вы используете Zenmap GUI, то в поле «Команда» (пример я привел выше):
Параметр T5 отвечает за скорость анализа сервера. Скорость можно менять от T0 до T5, где T0 — очень медленная скорость анализа, а T5 — очень быстрая. Если вы не хотите сильно нагружать сервер, то используйте T2.
Параметр -p- означает, что мы будем проверять весь диапазон портов (‘это займет около 10 минут) . Его можно убрать и тогда скрипт просканирует не все порты, а только 1000 первых (самые распространенные).
Ответ будет выглядеть примерно так:
Из отчета мы видим, что nmap отобразил нам порты (под колонкой PORT), которые активны. В данном случае у нас используются:
- Порт 21 занят под FTP
- Порт 22 занят под SSH.
- Порт 80 прослушивается сервером Apache.
- Порт 3306 используется MySQL
Теперь запускаем наш скрипт, который проверит уязвимости в нашем ПО на сервере. Для этого запускаем следующую команду с указанием портов, которые мы будем проверять. Вам нужно будет заменить список портов на свои .
Пример отчета. Ссылки на описание уязвимости идут после строки vulners (пример такой строки со ссылкой в отчете: CVE-2014-9278 4.0 https://vulners.com/cve/CVE-2014-9278)
Как видите из отчета, скрипт проанализировал активное ПО нашего сервера и любезно предоставил ссылки с описанием каждой найденной уязвимости. Что согласитесь, очень удобно как для нас, так и для злоумышленников.
Также можно записать результат анализа в файл, который потом можно скинуть ответственному разработчику или системному администратору. Сам файл результатов будет находиться в каталоге, из которого вы запускаете скрипт. Пример такой команды ниже:
Чтобы избавиться от подобных проблем обычно достаточно обновить используемое ПО до последних версий, где уязвимости старых версий, как правило, уже исправлены.
В нашем случае nmap определил, что на сервере есть ssh, ftp и mysql. Попробуем проверить насколько устойчивые пароли используются.
Вводим следующую команду (напомню, что вводить нужно либо в консоль, либо в поле «Команда» программы Zenmap GUI.
В случае успеха (процесс не быстрый) скрипт выведет подобранный пароль и логин . Подобранные пары логин\пароль будут выведены после строчки Accounts:
Кроме того, можно расширить стандартные списки паролей и пользователей от nmap, заменив файлы users.lst и passwords.lst . Различные базы для брутфорса можно найти в этом gitbub репозитории. Файлы с базой паролей можно разместить в папке nmap/nselib/data
Теперь проверяем FTP порт следующей командой:
Аналогично, сервис выведет подобранные пары логинов и паролей:
Проверяем доступен ли анонимный вход.
В случае успеха:
Пытаемся подобрать пару логин\пароль для входа в базу данных mysql.
Также если у вас используются CMS (WordPress, Joomla, Drupal, Bitrix) и другие базы данных (Mongo, Postgres, Redis), то можно найти готовые скрипты для проверки устойчивости ваших паролей и форм. Ищите по ключевым словам <name_of_CMS_or_DB> brute force nmap
Проверяем формы авторизации
Найти формы авторизации можно с помощью такой команды (вместо <target> — подставьте домен вашего сайта):
После того, как нашли страницы с авторизацией, можно попробовать подобрать пароль и логин для входа в админку сайта.
- http-brute.hostname — имя хоста
- http-form-brute.path — адрес страницы с формой или адрес с API
- http-brute.method — тип метода, по умолчанию POST
- http-form-brute.uservar — устанавливает имя переменной, которая отвечает за username. Если не установлено, то скрипт возьмет имя поля из формы
- http-form-brute.passvar — устанавливает имя переменной, которая отвечает за пароль. Если не установлено, то скрипт возьмет имя поля из формы
Параметры нужно перечислять через запятую после -script-args.
Если скрипт успешно сработает, то выведет примерно вот такой результат.
Подобранные данные для входа будут отображены после строчки Accounts. В нашем случае скрипт подобрал логин user с паролем secret. В реальном приложении подбор может также занять продолжительное время, зависит от того насколько стойкий пароль используется.
Если ваша формы авторизации использует cookies параметры или csrf-token, то в этом случае выдаст ошибку. (И это хорошо, значит базовую защиту вы предусмотрели).
В качестве защиты стоит использовать стойкие пароли, а также ограничивать количество запросов с одного IP-адреса (Rate limiting).
Часто разработчики или системные администраторы довольно халатно относятся к правам доступа и забывают закрыть доступ к системным и другим важным папкам. Проверить есть у нас на сервере такие папки можно также с помощью утилиты nmap. Команды будет выглядеть так (вместо <target> нужно подставить IP-адрес сервера или домен сайта) :
В результате в отчете нам покажут доступные для просмотра папки, интересные файлы — файлы паролей, резервные копии базы данных и тд. (Если такие существуют). Дальше уже вам нужно самостоятельно решить какие папки и файлы нужно закрыть от просмотра, а какие оставить как есть.
Пример небольшого отчета.
Так повелось, что большинство современных веб-приложений в той или иной мере используют SQL базы данных. Обычно параметры веб-страницы или какие-либо пользовательские данные подставляются в SQL запросы и результаты запроса отображаются на веб-странице. Если передаваемые параметры плохо фильтруются, то веб-сервис становится уязвимым для SQL инъекций.
Если сайт уязвим и выполняет такие инъекции, то по сути есть возможность творить с БД (чаще всего это MySQL) что угодно. Именно таким образом чаще всего воруют базы пользователей и их личные данные.
Далее я покажу как с помощью скриптов быстро и эффективно проверить есть в вашем продукте подобные уязвимости. Часто даже довольно опытные разработчики забывают о мерах предосторожности, поэтому даже серьезные продукты имеют подобные проблемы. Попробуем проверить наш тестовый веб-сервис на наличие таких проблем c помощью инструмента sqlmap.
Sqlmap — это кроссплатформенный сканер с открытым исходным кодом, который позволяет в автоматическом режиме тестировать веб-сервисы на наличие SQL инъекций, а затем использовать их для получения контроля над базой данных.
В данной статье я рассмотрю только способы как можно находить уязвимые для SQL инъекций страницы, API и формы без подробностей о том, как использовать найденные уязвимости для нанесения вреда. (Владельцы сайтов тут облегченно вздохнули). Для использования необходим python версии 2.7 и старше.
Установка на Windows
Для начала работы нам необходимо установить Python. Установщик Python для Windows можно найти на официальном сайте. Ссылку я прикрепил ниже.
На сайте две ветки — 2.x и 3.x, но скачать и установить лучше ветку 3.x. Sqlmap корректно работают с каждой из этих версий, но в дальнейшем нам потребуется версия 3.x.
Загрузить последнюю версию sqlmap можно здесь. Распакуйте архив в любую удобную папку (чтобы было проще ее найти можно распаковать в папку С:\Users\<имя вашего пользователя>)
Для запуска вначале нужно открыть командную строку. Нажмите Win+R, в появившемся окне введите cmd и нажмите enter. Пример запуска:
Установка на Mac OS X
Для начала установим Python. Для этого откройте Tерминал и запустите следующую команду.
Теперь установим sqlmap.
Запуск sqlmap для Mac OS X.
В моем тестируемом сервисе я специально подготовил sql уязвимости. Попробуем найти их следующей командой. Параметр —dbs означает, что нам интересны имена баз данных. В случае успеха и наличия уязвимости, после определения баз данных можно перейти к поиску таблиц и получения нужных данных. Команду необходимо вводить в консоль.
Через некоторое время скрипт может попросить нас уточнить некоторые данные. В данном случае выбираю «нет», чтобы скрипт прогнал все тесты.
Скрипт выводит отчет:
После продолжения анализа нас в первую очередь интересует строчка в конце: GET parameter ‘id’ is vulnerable. Do you want to keep testing the others (if any)? [y/N].
Как можно видеть, скрипт определил, что параметр id уязвим и предлагает протестировать другие параметры. В нашем конкретном случае других параметров нет, но в реальных веб-приложениях таких параметров может быть десятки, так что иногда имеет смысл проверить все.
В итоге скрипт не только определил, что параметр id является уязвимым, но и версию СУБД, а также получил название используемой базы данных на сервере — vc_test, в которой содержится контент сайта. Эту информацию можно найти в конце сгенерированного отчета.
В дальнейшем для злоумышленника уже обычно не проблема получить данные в таблицах, а возможно и полный контроль над всей БД, а то и всем нашим сервером и исходным кодом сайта, если для запросов используется пользователь с широкими правами.
Кроме того, sqlmap позволяет задавать http заголовки и параметры Cookies, что довольно удобно для тестирования, особенно когда для получения результата запроса требуется авторизации.
Пример тестирования запроса POST. Параметры, которые передаются в теле запроса записываются в опцию скрипта —data. Необходимые параметры для POST запроса можно подсмотреть в консоли браузера (Ctrl + Shift + I в Windows, затем перейти в вкладку Network, совершить нужное действие, а затем изучить каким образом формируется запрос)
После авторизации обычно необходимо передать нужные Сookie. В sqlmap за это отвечает опция —cookie. Нужные значения cookies можно получить в инструментах разработчика вашего браузера. (в Windows ctrl+shift+i, затем найдите вкладку Network, а в ней щелкните на запрос с именем домена сайта. В окне справа пролистайте пока не увидите параметр cookie)
Пример команды sqlmap c опцией —cookie.
Если параметров несколько, то можно явно указать какой параметр будем тестировать с помощью опции -p.
Можно задавать http заголовки через опцию —headers. Это крайне полезно для тестирования ваших API.
Также если get параметр передается не как get параметр, а как URI, то в этом случае нужно явно указать с помощью * , что данная часть URI является параметром. Пример:
Таким образом можно довольно тщательно протестировать ваше веб-приложение на наличие SQL инъекций. Также крайне полезно использовать sqlmap для автоматических тестов и запускать их после каждого изменения кода вашего приложения и не допускать код в ветку master, если он содержит уязвимость.
Для защиты от SQL инъекций нужно тщательно фильтровать параметры и HTTP заголовки, а также использовать подготовленные запросы.
Межсайтовый скриптинг (XSS) – это уязвимость, которая заключается во внедрении злоумышленником своего Javascript кода в веб-страницу, которая отображается в браузере пользователя.
После такого внедрения злоумышленник фактически захватывает веб-страницу и может манипулировать данными пользователя, когда он находится на странице. В случае успеха злоумышленник может:
- Внедрять свои скрипты в веб-страницу
- Отправлять на свой сервер пользовательские данные — банковские карты, идентификаторы сессий, пароли и тд.
- Совершать действия от имени пользователя — рассылать спам, совершать денежные переводы
Уязвимость возникает из-за недостаточной фильтрации данных, которые выводятся при отображении страницы.
Такие уязвимости довольно часто встречаются даже в крупных продуктах, поэтому стоит обязательно тестировать свои веб-приложения на наличие XSS уязвимостей.
В данном случае для тестирования мы воспользуемся утилитой XSStrike
ХSStrike — это довольно продвинутый сканер для поиска XSS уязвимостей c открытым исходным кодом. Он написано на Python3 и довольно прост в начальной настройке и использования.
Для установки необходимо скачать архив по ссылке и распаковать в удобную вам папку. После этого необходимо открыть консоль (ранее я уже показывал как это сделать в Mac и Windows) и перейти в распакованную папку. Затем нужно выполнить команды в консоле:
Установим необходимые для корректной работы библиотеки:
Теперь мы готовы к тестированию. Пример простого запуска, вместо моего url укажите адрес страницы, которую хотите протестировать:
Очень быстро скрипт обнаруживает, что параметр page является уязвимым ( строчка Reflections found ) и через него можно передать js код, который будет исполнен на странице. Пример такого кода приводится в строчке Payload. Такой тип XSS уязвимостей называется reflected XSS.
] Checking for DOM vulnerabilities [+] WAF Status: Offline [!] Testing parameter: page [!] Reflections found: 1 [
] Generating payloads [!] Payloads generated: 3072 ———————————————————— [+] Payload: <HTmL%0aONmOuSEoVeR+=+(prompt)«%0dx// [!] Efficiency: 100 [!] Confidence: 10 [?] Would you like to continue scanning? [y/N] n
Кроме того, можно проверять и формы. Отправим на проверку форму, которая отправляет сообщение в наш сервис. Чтобы передать список POST параметров используем опцию —data.
Результат: параметр name уязвим.
] Checking for DOM vulnerabilities [+] WAF Status: Offline [!] Testing parameter: name [!] Reflections found: 3 [
] Generating payloads [!] Payloads generated: 4608 ———————————————————— [+] Payload: <A%0aOnmOUSeOVEr%0d=%0d(prompt)«%0dx>v3dm0s [!] Efficiency: 100 [!] Confidence: 10 [?] Would you like to continue scanning? [y/N]
Как выглядит ответ, когда скрипт не находит уязвимых параметров:
] Checking for DOM vulnerabilities [+] WAF Status: Offline [!] Testing parameter: name [-] No reflection found [!] Testing parameter: message [-] No reflection found
Кроме того, в XSStrike поддерживает возможность передавать http заголовки, в том числе и cookies и проверять страницы для открытия которых нужна авторизация. Для этого используется опция —headers
Также можно запустить обход по всему сайту. Нужно указать стартовую страницу и сканер начнет обход всех найденных страниц. Запись -l 100 отвечает за количество страниц обхода.
Скрипт покажет страницы, на которых были найдены уязвимые параметры. Найденные страницы можно уже исследовать подробнее.
] Crawling the target [++] Vulnerable webpage: http://161.35.92.161/index.php [++] Vector for message: <htMl%09oNMOuseoVER%0d=%0dconfirm()// [++] Vulnerable webpage: http://161.35.92.161/index.php [++] Vector for page: <hTMl%0donPointereNter%0a=%0a[8].find(confirm)> [++] Vulnerable webpage: http://161.35.92.161/index.php [++] Vector for name: <D3v/+/oNMoUSeoveR%0a=%0a(confirm)()%0dx>v3dm0s !] Progress: 3/3
Также полезная функция — обход url страниц, которые указаны в файле с помощью опции —seeds. Можно также использовать вместе с опцией —headers.
Таким образом можно достаточно тщательно проверить свое веб-приложение на XSS уязвимости. Также хорошим ходом будет написать простой bash скрипт для объединения всех проверок XSS в один скрипт, специально заточенный под ваш проект.
Его задачей будет тестировать ваше веб-приложение после каждого изменения исходного кода и не пускать коммит в ветку master, если страницы и формы содержат XSS уязвимости .
Для борьбы с XSS уязвимости нужно также тщательно фильтровать данные, которые показываются пользователю.
Надеюсь руководство будет полезным и поможет вам сделать свои сайты и веб-приложения безопаснее. Также стоит проверять не только сам сайт, но и ваши админки и вспомогательные сервисы на поддоменах, ведь они также могут быть уязвимы перед подобными автоматизируемыми системами и скриптами.
Конечно приведенные меры не обеспечивают 100% защиты, и я не рассказал о многих других типовых уязвимостях, но показанные меры помогут защитить проект от автоматизированных систем взлома и злоумышленников с невысокими навыками.
Если есть вопросы, то смело пишите их в комментариях или мне в телеграм t.me/alex.belousov92
Также будет интересно почитать, что вы используете для тестирования безопасности ваших веб-приложений. Если статья наберет достаточное количество плюсов, то напишу продолжение. Поэтому не забудьте проголосовать, если статья понравилась!
21 сервис быстрой проверки безопасности сайта – 2021
Сравнительный анализ сервисов оценки безопасности веб-сайтов
Как быстро понять, насколько уязвим ваш веб-сайт? Легко ли его взломать? А может, он уже взломан?
В общем случае, точные и полные ответы на эти вопросы даются непросто. Вам нужен пентест, который займёт не менее 1 недели и 1500 долларов. Либо расследование инцидента, если он уже очевиден. Например, произошёл дефейс или блокирование сайта, утечка информации и т.д.
А что если нужно заранее понять, насколько всё может быть плохо, но при этом не потратить много сил и времени? Например, для того, чтобы просто получить “пёрышко на чаше весов”, которое нарушит равновесие и ликвидирует последние сомнения о необходимости отложить публикацию сайта и поработать ещё пару недель над его безопасностью. Или чтобы попытаться самостоятельно найти крупную дыру, через которую уже произошёл взлом опубликованного сайта.
Самый быстрый и простой способ – просканировать сайт на уязвимости и другие проблемы безопасности. Для этого нужно воспользоваться сервисами, которые мы описали в нашем обзоре онлайн-инструментов анализа безопасности сайтов.
Введение
Целью данного обзора не является определение самых функциональных и точных сканеров, предоставляющих максимум информации, а определение сканеров, оптимальных для быстрых задач оценки безопасности неспециалистами по безопасности.
Поэтому в ходе обзора мы оценивали следующий набор параметров: возможность бесплатного использования, простота использования, отсутствие необходимости регистрации пользователя, скорость обнаружения проблем и количество бесплатного функционала.
Обзор мы разделили на три части (“весовые категории” или “лиги”):
- 16 универсальных сканеров безопасности веб-сайтов.
- 4 узкоспециализированных сканера безопасности веб-сайтов на платформе CMS WordPress. Эта платформа была наиболее популярной платформой построения веб-сайтов на протяжении последних 10 лет, и остаётся наиболее востребованной в 2021 году.
- 1 полезный сервис оценки безопасности, включённый в бонусную категорию.
Сервисы оценки безопасности мы упорядочили по их названиям в алфавитном порядке.
Универсальные сканеры безопасности веб-сайтов
1. Acunetix
Классический коммерческий сканер уязвимостей веб-сайтов. Проверяет сайты на множество уязвимостей. Требует регистрацию на корпоративный почтовый ящик. Процесс получения временной бесплатной версии сложен. Бесплатное использование на протяжении 14 дней. Сервис даёт полезные результаты.
2. Detectify
Коммерческий сканер безопасности сайтов, который позволяет проводить несколько десятков автоматических тестов безопасности, включая тесты OWASP Top 10, наличие вредоносного программного обеспечения и многие другие. Сервис требует регистрацию, и работает бесплатно только 14 дней. Сканер достаточно сложен в использовании, хотя в сегменте коммерческих сканеров встречаются и более сложные продукты. Цены Detectify практически не отстают от уровня мировых лидеров рынка. Сканирование работает медленно, несколько часов, и даёт приличное количество результатов.
3. H-X Scanner
Бесплатный онлайн-сканер уязвимостей. Работает с 2016 года и имеет два режима: быстрый и нормальный. Сервис достаточно прост в использовании и не требует регистрации. Нужно ввести адрес вашего сайта и адрес электронной почты для получения отчёта о безопасности. В быстром режиме первые результаты можно получить в реальном времени в течение нескольких секунд после запуска. Весь процесс сканирования в быстром режиме занимает 5 минут. В нормальном режиме не нужно держать сайт сканера открытым. Отчёты о сканировании приходят на емайл. Процесс нормального сканирования занимает от нескольких минут до нескольких часов, в зависимости от сложности и объёма сайта. В нормальном режиме отчёт весьма удобный. Он содержит резюме и подробности в табличном виде. Предусмотрен функционал ручной верификации уязвимостей. Общий вывод – очень удобный сервис с относительно подробными отчётами, пригодными для глубокого ручного анализа и обработки.
4. ImmuniWeb
Компания ImmuniWeb активно развивается на рынке профессиональных решений по информационной безопасности. Веб-сайт этой компании и её бесплатный сервис оценки безопасности веб-сайтов имеют простой, удобный и весьма продуманный функциональный интерфейс. Сканер проверяет безопасность сервера вашего сайта, его соответствие требованиям стандартов PCI DSS и GDPR, заголовки HTTP, включая CSP, выполняет специфические тесты CMS для сайтов на базе WordPress и Drupal, проверяет уязвимости библиотек интерфейсов и многое другое. Сервис работает не очень быстро, но предоставляет очень удобные и наглядные результаты.
5. Intruder
Современный коммерческий сканер широкого спектра уязвимостей. Сервис имеет расширенные возможности вроде анализа безопасности облачных систем и API. Удобен в использовании. Требует регистрацию. Бесплатен на протяжении 30 дней. Работает довольно медленно и предоставляет не много результатов.
6. Netsparker Cloud
Один из классических коммерческих сканеров. Конкурент Acunetix, что особенно заметно в процессе получения пробной бесплатной версии, которая действует также только 14 дней. Требует непростую корпоративную регистрацию. Сервис предоставляет относительно много результатов, и даёт ложные срабатывания.
7. Norton Safe Web
Сервис от знаменитого антивируса лишний раз доказывает, что антивирусные компании сравнительно плохо справляются с оценкой безопасности веб-сайтов. Несмотря на то, что сканер бесплатный и легко запускается, он не даёт никаких результатов, если только ваш сайт уже не находится в базе данных сервиса. Попадание сайта в эту базу данных – непростая задача.
8. Observatory
Бесплатный сервис от знаменитого проекта Mozilla. Сканер помог владельцам нескольким десяткам миллионов веб-сайтов выяснить состояние их безопасности. Сервис простой в использовании, быстрый и наглядный. Он проверяет безопасность заголовков HTTP, выполняет тесты SSL, TLS, предварительной загрузки HSTS и т. д. Функционал несколько ограничен, но инструмент, несомненно, достойный.
9. Pentest-Tools
Быстрый и простой в использовании сканер, имеющий бесплатную и платную части. Бесплатное сканирование можно запустить только два раза. Оно не требует регистрации, но предоставляет сильно ограниченные результаты. Сайт рекламирует платные проверки с богатым функционалом.
10. Probely
Этот платный сканер уязвимостей имеет качественный пользовательский интерфейс и возможность пробного бесплатного использования 14 дней. Регистрация и использование не сложные. Сервис Probely удобен для разработчиков сайтов и веб-приложений. Он содержит не только функции поиска уязвимостей, но и полного цикла управления ими, включая их устранение. Сервис работает достаточно быстро, но в бесплатном режиме выдаёт весьма ограниченное количество результатов.
11. Quttera
Этот бесплатный инструмент в некоторой мере аналогичен сканеру Sucuri, описанному ниже, и даёт немного больше результатов. Он работает немного дольше, хотя в целом довольно быстро – несколько десятков секунд. Сканер прост в использовании и позволяет проверить сайт на некоторый ограниченный перечень уязвимостей, на наличие вредоносных и подозрительных файлов, а также анализирует присутствие сайта в списках безопасного просмотра и в списках вредоносных программ. Практически все сканеры уязвимостей время от времени дают ложные срабатывания, заявляя о проблемах безопасности там, где их реально нет. Но Quterra делает это весьма безапелляционно и навязчиво, сразу же предлагая купить их услуги по устранению проблем. Например, этот сервис ругается на несуществующую угрозу “Malicious obfuscated JavaScript threat”. Такое поведение подрывает доверие к этому инструменту.
12. Sucuri SiteCheck
Бесплатный сканер Sucuri оставляет неплохое впечатление. SiteCheck прост в использовании. Работает со всеми типами сайтов, а не только WordPress. Сервис имеет довольно ограниченный функционал – проверяет присутствие сайта в списках безопасного просмотра (Google, Yandex и т. д.) и в чёрных списках, проверяет наличие файрвола, мониторинга, некоторого вредоносного ПО, а также некоторых протоколов и заголовков. Сканер ошибается с определением CMS, а также оценивает безопасность таких сайтов как, например, facebook.com или microsoft.com, на уровне medium risk. Это является заведомо недостоверным завышенным значением риска. В целом, сервис работает очень быстро, несколько секунд, но и информации даёт очень мало.
13. SiteGuarding
Сервис сканирует сайты на наличие вредоносных программ, проверяет черные списки, спам и т. д. Сканер декларирует, что распознаёт WordPress, Joomla, Drupal, Magento, osCommerce, Bulletin и другие платформы. Запускается умеренно сложно, регистрации не требует. Работает недолго, но результаты очень ограничены. Сложная навигация, сложный интерфейс, навязчивая реклама.
14. Tinfoil Security
Инструмент платный, с возможностью бесплатного демо. Настройка Tinfoil Security умеренно сложная. Отдельные тесты проводятся, даже если сайт защищен паролем, или для входа требуется регистрация. Есть функционал мониторинга.
15. UpGuard Scan
Этот платный инструмент выполняет оценку рисков. Он использует информацию о различных параметрах сайта. Процесс регистрации сложный. Пробная бесплатная версия действительна 7 дней.
16. VirusTotal
Знаменитый агрегатор антивирусов, который был приобретён компанией Google, имеет также функцию агрегации чёрных списков сайтов. Работает бесплатно, максимально просто и мгновенно выдаёт результаты. Однако, по определению, полнота такой проверки ограничена, поскольку сервис не проверяет уязвимости сайта. Соответственно, сервис не даёт гарантий безопасности сайта.
Сканеры безопасности сайтов на базе WordPress
17. IsItWP Security Scanner
Бесплатный, простой в использовании, не требующий регистрации сканер на базе движка Sucuri, с двумя недостатками: 1) низкая скорость работы, 2) функционал сканера ограничен только некоторыми проверками (в основном, на известное вредоносное ПО). Сайт поставщика рекламирует дополнительные сервисы по защите сайтов WordPress и описывает шаги по реагированию на инциденты безопасности. В целом, сервис оставляет впечатление сырого, и шансов получить от него полезную информацию мало.
18. Web Inspector
Онлайн-сканер для проверки безопасности сайтов на базе WordPress. Сервис сканирует сайт с помощью Google Safe Browsing и движка Comodo. Сканер проверяет, есть ли вредоносный код, бэкдоры, вирусы, подозрительные скрипты и файлы. Регистрация, сравнительно с другими сервисами, не просто сложная, а очень сложная, так как требуется введение данных платёжной карты.
19. Wprecon
Сканер Wprecon для сайтов WordPress бесплатен, прост в использовании и достаточно быстр. Среди систем своего класса имеет наиболее подробные и удобные отчёты, а также ссылки на дополнительный функционал. Инструмент проверяет версию WordPress, плагины, темы, идентификацию пользователей, индексирование каталогов, iframes, ссылки, JavaScripts и так далее. Результаты достаточно полные.
20. WPsec
Сканер сайтов на WordPress с ограниченной бесплатной версией. Он настойчиво рекомендует купить премиальную учётную запись. Сервис требует регистрацию и прост в использовании, но есть неудобства вроде операций с паролем входа в сервис. WPsec использует распространённый бесплатный движок WPscan. Этот движок является сканером уязвимостей, работающим в командной строке. Он предоставляет информацию об устаревших версиях WordPress, его компонентов и других недостатках безопасности. Также этот движок известен тем, что он даёт большое количество ложных срабатываний. Сервис WPsec, несмотря на красивый интерфейс, медленный и в целом разочаровывает.
Бонус
21. Google Safe Browsing
Собственно, данный сервис не является сканером, а просто интерфейсом к “чёрному списку” Google. То есть, к базе данных, содержащей списки вредоносных сайтов. Многие сканеры, упомянутые в этом обзоре, используют Google Safe Browsing для своих результатов. По какой-либо причине вам может оказаться нужно обратиться к оригинальному сервису и не использовать сервисы посредников. Сервис интегрирован с Google Search Console, что достаточно удобно. Если вдруг ваш сайт окажется в чёрном списке, вы получите подробные инструкции о том, как удалить сайт оттуда. Сервис бесплатен, не требует регистрации, прост в использовании и быстр. Однако, поскольку не проверяет сайты на уязвимости, то малофункционален по сравнению с другими сервисами в нашем обзоре.
Сравнительный анализ
Напомним, что нашей целью было выявление быстрых, удобных, бесплатных онлайн-инструментов для анализа безопасности веб-сайтов. Сервисы со сложной регистрацией, сложным интерфейсом, медленные, дающие ограниченные результаты и тому подобные сканеры теряли очки при подсчёте.
В таблице результатов 0 баллов означает “нет или почти нет”, 1 – “частично”, 2 – “да, полностью или почти полностью”. Чтобы получить итоговую оценку, мы просуммировали первые 4 параметра оценки, затем результат умножили на оценку количества бесплатного функционала.
В лиге универсальных сканеров наш рейтинг выглядит следующим образом:
Сканер | возможность бесплатного использования | простота использования | отсутствие регистрации | скорость нахождения проблем | количество бесплатного функционала | Итоговая оценка |
H-X Scanner | 2 | 2 | 2 | 1 | 2 | 14 |
ImmuniWeb | 2 | 2 | 2 | 1 | 2 | 14 |
Norton Safe Web | 2 | 2 | 2 | 2 | 1 | 8 |
Observatory | 2 | 2 | 2 | 2 | 1 | 8 |
Sucuri SiteCheck | 2 | 2 | 2 | 2 | 1 | 8 |
VirusTotal | 2 | 2 | 2 | 2 | 1 | 8 |
Quttera | 1 | 2 | 2 | 2 | 1 | 7 |
Acunetix | 1 | 0 | 0 | 2 | 2 | 6 |
SiteGuarding | 1 | 1 | 2 | 2 | 1 | 6 |
Pentest-Tools | 1 | 1 | 1 | 2 | 1 | 5 |
Probely | 1 | 2 | 0 | 2 | 1 | 5 |
Netsparker Cloud | 1 | 1 | 0 | 2 | 1 | 4 |
Tinfoil Seurity | 1 | 1 | 0 | 1 | 1 | 3 |
Detectify | 1 | 0 | 0 | 0 | 2 | 2 |
Intruder | 1 | 0 | 0 | 1 | 1 | 2 |
UpGuard Scan | 1 | 0 | 0 | 1 | 1 | 2 |
Таким образом, для быстрых задач оценки безопасности веб-сайтов мы рекомендуем пользоваться инструментами H-X Scanner и ImmuniWeb, которые обогнали конкурентов по рассматриваемому набору параметров.
В лиге сканеров безопасности WordPress рейтинг получился такой:
Сканер | возможность бесплатного использования | простота использования | отсутствие регистрации | скорость нахождения проблем | количество бесплатного функционала | Итоговая оценка |
Wprecon | 2 | 2 | 2 | 2 | 1 | 8 |
IsItWP Security Scanner | 2 | 2 | 2 | 0 | 1 | 6 |
WPsec | 1 | 2 | 0 | 0 | 1 | 3 |
Web Inspector | 1 | 0 | 0 | 1 | 1 | 2 |
Получается, что сервис Wprecon выглядит наиболее полезным и удобным для проверки безопасности сайта на основе Вордпресс.
Заключение
Мы провели обзор 21 современного инструмента для бесплатной, быстрой, удобной оценки безопасности веб-сайтов в интерактивном режиме, а также сравнительный анализ 20 инструментов.
Таким образом, вне зависимости от того, какой у вас веб-сайт, если вы не хотите тратить много времени на анализ его безопасности, мы рекомендуем использование сервисов H-X Scanner и ImmuniWeb.
Если ваш сайт построен на платформе системы управления содержимым WordPress, дополнительно рекомендуем проверить сайт с помощью сервиса Wprecon.