Анализ сайта на уязвимости онлайн

Анализ сайта на уязвимости онлайн

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

Поиск уязвимостей на сайте

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

Один из способов защиты от взлома — регулярное тестирование сайта на уязвимости разными сервисами.

Какие уязвимости на сайте можно обнаружить во время анализа?

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

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

  • XSS-инжекты (Cross Site Scripting injection) — на ваш сайт могут добавить кусочек стороннего кода на любую страницу сайта. Через эту уязвимость хакеры могут собрать персональную и платежную информацию ваших пользователей. Например, данные банковских карт или емейлы.
  • SQL-инжекты — через них можно получить доступ к базе данных сайта, редактированию и добавлению файлов на сайт. Хакеры могут украсть ваш сайт или удалить важную информацию с него.

Как выбрать сервис для тестирования сайта на уязвимости?

Есть три типа сервисов для поиска уязвимостей и ошибок на сайте — программы, требующие установки на компьютер, онлайн- и облачные сервисы.

Программы для поиска уязвимостей

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

sqlmap

Чтобы установить программу sqlmap, перейдите на страницу загрузки и скачайте архив

Онлайн-сервисы

Для работы с онлайн-сервисами ничего скачивать и устанавливать не нужно. Они работают в браузере.
Некоторые сервисы просто выдают список уязвимостей и ошибок. Другие (например, coder-diary.ru) дают не только список, но и подсказывают их как устранить.

Coderdiary

Пример рекомендации по устранению уязвимости в сканере от coder-diary.ru
Разные сервисы могут находить разные ошибки. Мы рекомендуем проверять ошибки сразу в нескольких сервисах, чтобы получить максимально полный отчет.
Также обратите внимание, что некоторые онлайн-сервисы для анализа сайтов могут быть платными.

Примеры сервисов:

  • Сканер уязвимостей сайта от coder-diary.ru
  • Website Grader

Website grader

Результаты сканирования сайта в Website Grader

Облачные сервисы

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

Внешний вид отчетов Virusdie

Внешний вид отчетов в VirusDie

Что делать после того, как я нашел уязвимости?

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