Разнообразные сканеры веб-приложения – очень популярная часть программного обеспечения, которая с каждым годом объединяет вокруг себя достаточное количество программистов. В Интернете можно отыскать множество всевозможных платных сканеров, а также попробовать функционал бесплатных предложений.
Естественно, каждый продукт обладает своими преимуществами и недостатками, предлагая персонализированный функционал для нахождения критических уязвимостей в логике ПО.
Далее предлагаем ознакомиться с 7 наиболее распространенными инструментами, которые помогут быстро и качественно найти темные пятна в функционале любого программного обеспечения.
Отдельно отметим, что в качестве тестируемых объектов были выбраны абсолютно независимые точки на разных платформах, которые часто применяются в повседневной деятельности многих QA-компаний:
№1 OWASP ZAP
Сразу по названию данной программы можно с уверенностью говорить о том, что авторами продукта являются разработчики из компании OWASP.
Продукт OWASP – это совершенно бесплатный инструмент для проведения процесса тестирования на проникновение и для работы по обнаружению веб-уязвимостей внутри структуры проверяемого программного обеспечения.
Базовые возможности программы:
- Прокси «человек посередине» (англ. Main-in-the-middle Proxy);
- Традиционные и AJAX spiders;
- Автоматизированный сканнер;
- Пасивный сканер;
- Силовой сканер;
- Fuzzer.
Графический интерфейс продукта представлен и в русскоязычной версии. А значит, всем пользователям из стран бывшего СНГ будет весьма удобно с ним взаимодействовать. Вся рабочая сфера OWASP ZAP состоит из пары окон.
В нижней части представлена вкладка с текущими процессами и временем их выполнения. В левой части – удобная для понимания карта сайта, а в правую часть дополнительно можно вывести диалоговое окно для вопросов и ответов.
Доступный рынок ПО позволяет немного расширить представленный функционал продукта. К слову, каждый компонент продукта отличается массой редактируемых параметров и конфигураций.
Например, пользователь может запросто настроить входящие векторы для процесса активного сканирования, выполнить генерацию динамических SSl-сертификатов, выполнить процесс добавления идентификаторов HTTP-сессий и прочее.
Выполняемый тест на php.testparker.com позволил найти исключительно «слепые» SQL-инъекции.
В premium.bgabank.com удалось отыскать возможность включения на стороне сервера (англ. Server Side Include) и «межсайтовый скриптинг» (англ. Reflected Cross Site Scripting).
Очень удобной функцией является возможность быстрого экспорта всех итогов сканирования (можно выбрать любой из предложенных форматов – от pdf до .json). При изучении сгенерированного отчета можно отыскать данные касательно присутствующих уязвимостей, найденные векторы и способы устранения этих уязвимостей.
Таким образом, взаимодействовать с данной программой очень удобно и приятно. Продукт обладает большим перечнем всех необходимых инструментов для тестирования на проникновение. Да и процесс сканирования выполняется всего в 1 клик.
В общем, OWASP ZAP можно смело рекомендовать к использованию при процессе тестирования разнообразного ПО.
№2 W9scan
W9scan – это тоже бесплатный сканер (консольный), который снабжен более чем 1200 плагинами для анализа отпечатков тестируемых веб-страниц, портов, проведения анализа структуры веб-страниц. С его помощью также можно выполнять сканирование на SQL-инъекции и «межсайтовый скриптинг» (XSS).
Данный продукт может в автоматическом режиме генерировать детализированные отчеты о результатах сканирования в формате HTML. Для начала работы необходимо всего лишь внести требуемый URL сайта, на котором необходимо провести анализ.
Во время тестирования на php.testparker.com эта программа смогла найти svn, а также целый ряд потенциальных путей загрузки payload. Кроме этого, она смогла правильно определить корректность версий используемых сервисов, правильные векторы выполнения XXE и XXS.
Найти что-то критическое на premium.bgabank.com не получилось. Но данный сканер смог спрогнозировать потенциальные версии сервисов и директории (+субдомены).
Таким образом, этот сканер можно использовать как инструмент быстрого запуска на вспомогательной основе для решения вопросов с версиями и возможными векторами атак.
№3 Wapiti
Еще один хороший продукт, который также характеризуется как классический консольный сканер. Как и W9scan, он запускается всего с одной команды, хотя обладает большим числом настроек для детализированного сканирования.
С его помощью можно находить такие уязвимости:
- Представление информации;
- Запрос базы данных;
- Инъекции «межсайтового скриптинга» (XSS injection);
- Диагностика выполнения команд;
- CRFL-инъекции;
- Атака XXE;
- Подделка запросов на стороне сервера (SSRF);
- Ранее известны потенциально опасные файлы;
- Наличие резервной копии закрытых сведений;
- Уязвимость Shellshock.
Также поддерживается прокси, разные методы верификации (NTLM, Kerberos, Basic) и SSL-сертификаты.
При проведении сканирования php.testparker.com найдены такие уязвимости, как слепые SQL-инъекции, межсайтовый скриптинг и выполнение команд.
Во время работы с premium.bgabank.com найдено только межсайтовый скриптинг.
После сканирования формируется удобный отчет в формате HTML, внутри которого предоставлено большое количество обнаруженных уязвимостей, запросы и перечень команд для curl.
Следовательно, данная программа немного уступает OWASP ZAP, но работает более качественно, чем W9scan.
№4 Arachni
Качественное ПО для разнообразных тестов на защищенность веб-продуктов и нахождения уязвимостей. Отличается удобным и понятным графическим интерфейсом и большой функциональностью, которая детально расписана на официальном портале разработчиков.
Возможности при активном тестировании:
- SQL-инъекции;
- Слепые SQL-инъекции;
- Слепые SQL-инъекции, используя синхронные атаки;
- NoSQL-инъекции – обнаружение уязвимостей на основе ошибок;
- Слепые SQL-инъекции, используя дифференциальный анализ.
При выполнении пассивного тестирования есть возможность оперирования:
- Разрешенные HTTP методы;
- Файлы с резервной копией;
- Общие административные интерфейсы;
- Направление резервного копирования;
- Общие директории;
- Общие файлы.
Детально изучив функционал, можно найти массу полезных плагинов – от пассивного прокси до Cookie collector.
Во время теста php.testparker.com данный сканер смог отыскать межсайтовый скриптинг, инъекции кода, инъекции команды ОС и слепые SQL-инъекции.
Из наиболее критического на premium.bgabank.com можно выделить лишь потенциальную возможность межсайтовой подделки входящих запросов.
При экспортировании отчетов поддерживается большое количество форматов:
- Text
- JSON
- YAML
- AFR
- XML
- HTML
- Marshal
В итоге, уже после первого взаимодействия с этим ПО у программиста останется исключительно положительные впечатления. Можно с уверенностью говорить, что данный продукт – обязателен в арсенале как программиста, так и QA-специалиста.
№5 Paros
Еще один весьма интересный сканер с удобным графическим интерфейсом. К слову, по умолчанию он поставляется в дистрибутиве Kali Linux и установлен там локально.
Обладает встроенным прокси, посредством которого добавляются сайты для проведения анализа, есть встроенный веб-паук (функции анализа сайта и построения карты запросов).
Базовые возможности:
- A1 – инъекция – SQL-инъекция, SQL-инъекция отпечатка пальца;
- A6 – ошибка в конфигурации безопасности – просмотр каталога, файл ISS по умолчанию, tomcat source file disclosure, стандартные файлы веб-системы IBM;
- A7 – межсайтовый скриптинг.
Вспомогательные возможности:
- Процесс поиска включенного автозаполнения для присутствующих форм паролей;
- CRLF-инъекции;
- Раздел ограниченного доступа кэш браузера;
- Функции сканирования защищенной области клиента;
- Функции сканирования веб-продуктов внутри локальной сети.
В итоговом отчете к каждому виду уязвимостей предоставляется детальная информация и несколько рекомендаций к их последующему устранению.
Проверка на php.testsparker.com помогла найти – межсайтовый скриптинг, SQL-инъекции, раскрытие внутренних IP, старые файлы с исходным программным кодом и просмотр каталога.
На premium.bgabank.com найдено всего лишь применение авто заполнения в формах с очень важной информацией.
Итого, хоть продукт и не отличается сложным функционалом, он характеризуется простотой в использовании. А это в свою очередь дает очень слабые результаты сканирования. Использовать его на постоянной основе не является целесообразным.
№6 Tenable.io
Переходим к платному продукту. Tenable.io – это облачный сканер, который запросто может найти большое количество уязвимостей и максимально покрывает OWASP TOP 10 2017.
Обладает встроенным веб-пауком. При желании, в конфигурациях сканирования запросто можно сохранить данные авторизации, а сканер проверит личный кабинет на потенциальные угрозы.
Также продукт может сканировать сеть – поиск популярных уязвимостей и хостов. Присутствуют параметры подключения агентов для процесса сканирования внутренней локальной сети.
Созданные отчеты формируются в форматах pdf, csv, db и nessus.
Тестовое сканирование на php.testsparker.com позволило найти проблемы:
- Опасные уязвимости компонентов;
- Иъекции кода;
- Межсайтовый скриптинг;
- LFI;
- SQL-инъекции;
- Обход каталога.
На premium.bgabank.com было найдено:
- Уязвимости Apache;
- Уязвимости bootstrap;
- JQuery.
Таким образом, это хорошая программа, способная находить большое количество уязвимостей. Взаимодействие с ней очень простое, так как она обладает очень удобным и интуитивно понятным графическим интерфейсом. Важная отличительная черта продукта – облачная архитектура сервиса.
№7 Acunetix
Еще один коммерческий сканер с современным функционалом. С его помощью можно находить наиболее популярные уязвимости – все типы SQL-инъекций, межсайтовый скриптинг, CRFL-инъекции. К слову, для качественного процесса сканирования необходимо выбрать правильный профиль настроек.
Найденные уязвимости удобно разложены по категориям: высокие, средние, низкие. В разделе «Информация» можно проанализировать данные касательно выполненного процесса сканирования.
При сканировании в php.testsparker.com результаты были неплохими, а вот на premium.bgabank.com итоги не такие положительные.
Таким образом, данный продукт обладает большим перечнем возможностей и идеально подойдет на проекте, где необходимо независимое решение. Графический интерфейс очень простой в понимании, все отчеты отображаются в виде удобных графиков.
Общие итоги
В завершении статьи можно сделать обобщённые краткие выводы по всем рассмотренным сканерам:
- OWASP ZAP – очень хороший продукт, который рекомендуется к постоянному использованию;
- W9scan – лучше использовать в качестве вспомогательного ПО для точного определения версий и сервисов;
- Wapiti – хорошее решение, немного хуже чем OWASP ZAP;
- Arachni – обязателен на любом проекте;
- Paros – слабый сканер;
- Tenable.io – продуктивен, находит массу уязвимостей, но надо учитывать, что он облачный;
- Acunetix – хороший сканер в виде независимого приложения.
Оставить комментарий