тестирование безопасности веб приложений
Тестирование безопасности веб приложений
Добрый день, товарищи!
Сегодня мы поговорим о тестировании безопасности веб-приложений. Сам я инженер по тестированию, по образованию – специалист по информационной безопасности, а по жизни – параноик.
В то время, когда я учился в университете, было не принято преподавать какие-то реальные вещи (читай – потребности отрасли), касающиеся защиты и компрометации информационных систем. Конечно, это можно было бы списать на бюрократию и сложности внедрения новых методик, но я думаю, что там, как и везде, просто больше любят бумажки – оттуда и безопасность у нас — «бумажная». В работе же необходимы практические навыки и знания.
1. СНАРУЖИ
Ни для кого не секрет, что количество сетевых атак неуклонно растет. Каждый день их совершается около 1000, подсчитать же их число за год практически невозможно (это наглядно видно из статьи Стива Моргана). Атакам подвергаются самые разные сетевые ресурсы – от сайта местного провайдера до федерального размера ( агентурной ) торговой сети суши и атомных станций. Можно даже посмотреть на интерактивную карту кибератак в режиме онлайн.
И каждый уязвим. И каждый отдает себе отчет об этом риске. И каждый думает, что это не про него. Что уж там душой кривить – мы так привыкли. Нежелание признавать риски приводит к нежелательным последствиям.
Давайте рассмотрим безопасность подробнее, ведь «в действительности все не так, как на самом деле» (с).
1.1 Что же такое тестирование? А тестирование безопасности? А тестирование безопасности веб-приложения или веб-сервера (нужное подчеркнуть)?
Тестирование – это процесс достижения совершенства. А тестирование безопасности – процесс достижения совершенства в открытом космосе при условии, что с Вашим скафандром что-то не так 🙂 Но если вернуться на Землю, то тестирование безопасности веб-приложения – это попытка найти все те места, в которых могли допустить ошибку разработчики или просто не предусмотреть / забыть (подчеркните ваш случай).
Веб-приложение и веб-сервер неразрывно связаны. Тестирование одного без другого не даст полной картины бедствия. Тестируя защиту веб-приложения, мы ищем уязвимые места для атаки на пользователей. Тестируя защиту веб-сервера, мы ищем уязвимые места для атаки на сервер, его инфраструктуру.
1.2 Для чего все это нужно? Почему так много компаний заинтересовано в проведении тестирования безопасности?
Нужно все это в первую очередь людям: простым смертным, решившим заказать пиццу, а не отправить данные своей карты непонятно куда; простым владельцам пиццерий, не беспокоящимся, что кто-то смог бесплатно научиться заказывать пиццу через их приложение; простым разработчикам, которым не придется править код в 3 часа утра.
Как правило, небольшие организации, имеющие свой сайт и небольшой сервер с битриксом, думают, что они слишком малы для того, чтобы стать мишенью для атаки. И в этом они заблуждаются. Безусловно, вероятность таргетированной атаки на них ниже, чем на финансовых гигантов, но все-таки не равна нулю. В нынешнее время нейронных сетей и повальной автоматизации никто не будет выяснять, большой ли денежный оборот у фирмы. Главное – это количество уникальных посетителей, ведь суммарно в их карманах может оказаться больше «фишек», чем компания получает за год.
1.3 На что и на кого ориентировано тестирование безопасности? Кто получит выгоду от этого в первую очередь?
Естественно, в первую очередь от безопасного серфа сайта выигрывает пользователь. Если нет нужды беспокоиться о том, что Ваши персональные данные могут утечь в сеть, то и доверять ресурсу Вы будете больше. А если счастлив пользователь, то счастлив и владелец веб-ресурса (и тем более он счастлив, чем меньше у него рисков потерять финансы).
2. ИЗНУТРИ
Исследование безопасности веб-ресурса – сложная и кропотливая работа, требующая внимательности, фантазии и творческого подхода. Исследователю безопасности необходимо глубокое понимание технической изнанки работы веб-приложения и веб-сервера. Каждый новый проект дает пищу для фантазии, каждый новый инструмент – просторы для творчества. Да и вообще, тестирование безопасности больше похоже на исследовательскую работу – это постоянный поиск и анализ.
2.1 Как тестирование безопасности выглядит изнутри? Чем руководствуется инженер? Как выставляет приоритеты?
Каждый новый проект требует применения новых инструментов, изучения новых технологий, поглощения множества книг и статей, которые достаточно трудно найти. Большая часть информации находится в англоязычном пространстве, что добавляет определенные трудности в освоении материала людям, языком английским не владеющим.
Если говорить о процессе тестирования безопасности, то в целом он не сильно отличается от тестирования обычного: поиск, локализация, воспроизведение, заведение, отчет. Приоритеты, безусловно, зависят от заказчика, от целей тестирования.
К сожалению, некоторые курсы по тестированию безопасности / анализу защищенности / аудиту безопасности в интернете внушают, что достаточно пройтись по веб-приложению каким-нибудь сканером безопасности – и все готово! Отчет есть, уязвимости – вот они! Что же еще вам нужно? Но не стоит быть таким наивным. Большинство уязвимостей ищется и находится именно вручную, при внимательном изучении. Они могут быть совершенно несложными, но автоматические сканеры пока еще не способны их обнаружить.
2.2 Несколько слов об OWASP TOP 10.
Классификацией векторов атак и уязвимостей занимается сообщество OWASP (Open Web Application Security Project) – международная некоммерческая организация, сосредоточенная на анализе и улучшении безопасности программного обеспечения.
OWASP (https://www.owasp.org/) составил список из 10-и самых опасных уязвимостей, которым могут быть подвержены интернет-ресурсы. Сообщество обновляет и пересматривает этот список раз в три года, поэтому он содержит актуальную информацию. Последнее обновление было сделано 2017 году («Огласите весь список, пожалуйста!» (с)):
2.3 Методика тестирования. GuidLine от OWASP.
Организация OWASP дополнительно к своему списку из 10 самых опасных уязвимостей разработала методические рекомендации (практикум) по тестированию безопасности веб-приложений. В них подробно, шаг за шагом, описано, как и что необходимо тестировать, на что обратить внимание в первую очередь, а на что – во вторую. Методика носит рекомендательный характер и, конечно, никого ни к чему не обязывает (инженер, проводящий тестирование, некоторые моменты может перенести, а другие – вообще опустить), но, тем не менее, позволяет сделать максимальное покрытие для веб-приложения.
Итак, весь процесс тестирования состоит из двух этапов:
2.4 Переход к технической стороне вопроса. Инструментарий – ручной или автоматизированный? Какой для чего?
Какие инструменты используются для анализа безопасности? Оценив объемы бедствия, следует сбежать рассмотреть существующие инструменты. Конечно же, главные Ваши аргументы против несправедливости в сетевых именах – это глаза и мозг 🙂 На самом же деле, добрые люди разработали огромный инструментарий – начиная от специализированных скриптов, «заточенных» для какой-то одной конкретной цели, и заканчивая целыми комбайнами — готовыми выжать максимальные выводы из минимума вводных. К сожалению, часто такой результат оказывается лже-срабатыванием. Как правило, инженер по тестированию при выборе инструментов основывается на приоритетах: что важнее – время или область покрытия? Современные разработчики довели автоматизацию до небывалых высот, поэтому можно смело следовать принципу Парето: 80% работы скармливать автоматизированным анализаторам, а все оставшееся «проходить руками». Но, честно говоря, результаты автоматизированных средств все равно придется изучать и проверять.
Приведем небольшой список категорий инструментов:
2.5 Откуда же возникают все эти уязвимости?
Из-за разгильдяйства разработчиков. Из-за невнимательности. Из-за халтуры. Из-за лени. Из-за-за…
Но чаще всего уязвимости возникают из-за неопытности. Не все разработчики представляют себе, как злоумышленник будет атаковать их продукт. Некоторые считают, что достаточно экранировать кавычку («’») в пользовательском вводе или спастись «magic_quotes» – и можно будет избежать SQL-инъекции. Отсюда и получается, что превентивные меры мы принимаем, а что делать дальше – не знаем. И WAF’ы нас не спасут.
АУТРО
В качестве заключения:
Человек – существо несовершенное. Ему свойственно ошибаться. Но каждая ошибка – это повод двигаться вперед. Люди разрабатывают информационные системы, и эти системы, подобно творцам, такие же несовершенные. Поэтому каждая ошибка, каждая уязвимость – это шаг на долгом пути к совершенству.
Современные методы исследования безопасности веб-приложений
В данной статье я расскажу о современных методах и подходах к тестированию безопасности веб-приложений.
Начало исследования
Для успешного тестирования веб-приложений необходимо применять систематизированный подход или методологию. Наиболее известные это OWASP и WASC. Они являются наиболее полными и формализованными методологиями на сегодняшний день.
Далее необходимо определится с веб-приложением — для исследования можно взять последнюю версию одной из бесплатных CMS, и установить в нее уязвимый плагин (уязвимые версии можно скачать с сайта exploit-db.com).
Методы тестирования
Т.к. мы не являемся веб-разработчиками данного приложения, мы пропустим этап тестирования при создании архитектуры и разработки приложения (но стоит отметить что они важны — при разработке).
Есть несколько принципов тестирования, которые мы можем применить:
DAST – динамический (т.е. требующий выполнения) анализ приложения без доступа к исходному коду и серверной части, по сути BlackBox.
SAST – статический (т.е. не требующий выполнения) анализ приложения с доступом к исходному коду веб-приложения и к веб-серверу, по сути это анализ исходного кода по формальным признакам наличия уязвимостей и аудит безопасности сервера.
IAST – динамический анализ безопасности веб-приложения, с полным доступом к исходному коду, веб-серверу — по своей сути является WhiteBox тестированием.
Анализ исходного кода – статический или динамический анализ с доступом к исходному коду без доступа к серверному окружению.
Эти методы полностью подойдут для тренировки навыков выявления уязвимостей веб-приложения при наличии у вас доступа к веб-приложению, либо частиноч, если вы исследуете веб-приложение, к примеру, при участии в программе BugBounty.
Основные этапы
Для полноты тестирования необходимо стараться следовать нижеприведенным рекомендациям кастомизирую те или иные этапы в зависимости от веб-приложения.
Разведка
Контроль доступа
Фаззинг параметров
Проверки логики работы веб-приложения
Проверка серверного окружения
Итого
Имея план тестирования приложения мы можем шаг за шагом исследовать все его компоненты на наличие тех или иных уязвимостей. Исходя из веб-приложения те или иные пункты могут быть дополнены специфичными для данного приложения проверками.
В следующей статье я расскажу об инструментарии, подходящем для тестирования веб-приложения по данному чек-листу.
Тестирование сканеров безопасности веб-приложений: подходы и критерии
Сканеры информационной безопасности (сканеры уязвимостей) — это средства мониторинга и контроля, с помощью которых можно проверять компьютерные сети, отдельные компьютеры и установленные на них приложения на наличие проблем защищенности. Большинство сканеров позволяют детектировать уязвимости, описанные классификатором WASC Threat Classifcation. В сегодняшнем хабратопике мы рассмотрим некоторые вопросы, связанные с тестированием сканеров информационной безопасности веб-приложений как программных продуктов.
Современный сканер веб-приложений — это многофункциональный и весьма сложный продукт. Поэтому его тестирование и сравнение с аналогичными решениями имеет целый ряд особенностей.
Тестовая процедура
В статье «Building a Test Suite for Web Application Scanners» изложены общие принципы тестирования сканеров, на которые мы будем опираться далее. Одним из таких принципов является Тестовая процедура для сравнения работы различных сканеров веб-приложений. В немного модифицированном виде эта процедура выглядит следующим образом:
Очевидно, что далеко не все сканеры веб-приложений обладают одинаковым набором сканирующих модулей, однако такую таблицу все равно можно использовать, уменьшая рейтинг сканера при отсутствии тех или иных модулей, той или иной функциональности.
Подготовить тестовое приложение с точно известным заранее числом уязвимостей определенного типа невозможно. Поэтому при составлении подобной таблицы мы неминуемо столкнемся с трудностями определения количества реальных объектов для поиска. Решить эту проблему можно следующим образом.
Типы уязвимостей для реализации в тестовом контенте для проверки сканера можно взять из классификатора WASC Threat Classification.
Ожидаемое число запусков тестовой процедуры для всех возможных комбинаций установленных приложений будет очень и очень велико, что и неудивительно. Уменьшить это число можно благодаря использованию техники тестирования pairwise analysis.
По результатам сканирования получаем числовые векторы вида
(уровень защиты, кол-во обнаруженных объектов, False Positive, False Negative, всего объектов, время сканирования)
Затем необходимо ввести метрику качества сканирования, которою можно будет использовать для сравнения показателей и сканеров между собой. В качестве подобной метрики достаточно использовать простейшую евклидову метрику.
Виды тестовых испытаний
Еще одна статья, на которую можно опираться при тестировании сканеров веб-приложений, называется «Analyzing the Accuracy and Time Costs of Web Application Security Scanners». В этом материале описывается проведение испытаний различных сканеров (BurpSuitePro, Qualys, WebInspect, NTOSpider, Appscan, Hailstorm, Acunetix) и для каждого конкретного инструмента предлагается проводить четыре типа испытаний:
Обучение — включает в себя любые конфигурации настроек, изменение скриптов, связь с поставщиками сканера и т. п.
Для определения количества времени, которое специалистам необходимо затратить для получения качественного результата, в статье предлагается пользоваться простой формулой:
Общее время = Время обучения + #False Positive * 15 мин. + #False Negative * 15 мин.
В ходе каждого испытания нужно применять тестовую процедуру, которую мы описывали выше.
Критерии оценки для сканеров веб-приложений
В еще одной полезной статье «Top 10: The Web Application Vulnerability Scanners Benchmark» авторы предлагают общий поход к сравнению характеристик сканеров, а также набор таких характеристик с примерами. Оценку возможностей сканеров веб-приложений в этой статье предлагается задавать в табличном виде, используя следующие критерии:
Типы тестов для сканеров веб-приложений
Опираясь на материалы представленных выше статей, мы разработали классификацию типов тестов, которые можно использовать в тестовой процедуре.
Спасибо за внимание, будем рады ответить на вопросы в комментариях.
Автор: Тимур Гильмуллин, группа автоматизированного тестирования Positive Technologies.
Чем искать уязвимости веб-приложений: сравниваем восемь популярных сканеров
Сканеры веб-приложений — довольно популярная сегодня категория софта. Есть платные сканеры, есть бесплатные. У каждого из них свой набор параметров и уязвимостей, возможных для обнаружения. Некоторые ограничиваются только теми, что публикуются в OWASP Top Ten (Open Web Application Security Project), некоторые идут в своем black-box тестировании гораздо дальше.
В этом посте мы собрали восемь популярных сканеров, рассмотрели их подробнее и попробовали в деле. В качестве тренировочных мишеней выбрали независимые точки на двух платформах (.NET и php): premium.pgabank.com и php.testsparker.com.
OWASP ZAP
Как можно догадаться по названию, за выпуск OWASP ZAP отвечает та самая организация OWASP, что мы упомянули во вступлении. Это бесплатный инструмент для тестирования на проникновение и для поиска уязвимостей в веб-приложениях.
Основные возможности OWASP ZAP:
Интерфейс программы переведен на русский, что будет удобно для некоторых пользователей. Рабочая область OWASP ZAP складывается из нескольких окон. Внизу — вкладки с текущими заданиями и процесс их выполнения, слева — дерево сайтов, дополнительно можно вывести в правую часть окна запросов и ответов.
С помощью маркетплейса можно немного расширить функциональность сканера.
У каждого компонента программы есть много настраиваемых параметров. Например, мы можем настроить входящие векторы для активного сканирования, сгенерировать динамические SSL-сертификаты, добавить идентификаторы HTTP-сессий и т.д.
Перейдем к тестам. При сканировании сайта php.testsparker.com была найдена Blind SQL Injection. На этом критичные уязвимости заканчиваются.
На premium.bgabank.com мы видим более интересные результаты: найдена возможность Server Side Include (SSI) и Reflected Cross Site Scripting.
Все результаты сканирования можно экспортировать в отчет (поддерживается *.pdf, *.html, *.xml, *.json). В отчете подробно описываются уязвимости, найденные векторы, а также методы «закрытия» уязвимостей.
В целом работать с OWASP ZAP нам понравилось. Есть все необходимые инструменты для пентеста веб-приложения, простой и понятный интерфейс, быстрое сканирование в один клик. И при этом гибкие, глубокие настройки для более детального сканирования, что может послужить отправной точкой для дальнейшего ручного поиска уязвимостей. Ниже мы еще расскажем о сканере Burp Suite Pro, который имеет с OWASP ZAP много общего. По количеству и качеству найденных уязвимостей первый рассмотренный нами сканер показал очень неплохой результат. Рекомендован к использованию в работе.
W9scan
W9scan — это бесплатный консольный сканер уязвимостей сайта с более чем 1200 встроенными плагинами, которые могут определять отпечатки веб-страниц, портов, проводить анализ структуры веб-сайта, находить различные популярные уязвимости, сканировать на SQL Injection, XSS и т. д.
W9scan автоматически генерирует отчеты о результатах сканирования в формате HTML. Для запуска сканирования требуется только указать URL сайта и плагины, которые будут использоваться. Можно выбрать сразу все, дописав «all».
При сканировании php.testsparker.com W9scan нашел svn и возможные пути загрузки payload. Из менее критичного — определил версии используемых сервисов, возможные векторы проведения XXE, XXS-атак, нашел конфигурационные файлы сервера и провел поиск субдоменов.
На сайте premium.bgabank.com ничего критичного найдено не было. Но сканер определил возможные векторы проведения атак, определены версии сервисов, директории и субдомены.
По результатам сканирования W9scan автоматически генерирует файл отчета в формате HTML.
W9scan сканер подойдет для быстрого запуска в одну команду и мы рекомендуем использовать его как вспомогательный инструмент для определения версий сервисов, а также потенциальных векторов атак.
Wapiti
Ещё один неплохой консольный сканер. Так же, как и W9scan, готов к старту в одну команду, при этом имеет больше разных настроек сканирования.
Wapiti производит поиск следующих уязвимостей:
При сканировании сайта php.testsparker.com были найдены уязвимости Blind SQL Injection, Cross Site Scripting, Commands execution. На premium.bgabank.com Wapiti в сравнении с другими сканерами показывает не такие выдающиеся результаты: был обнаружен только Cross Site Scripting.
По результатам работы сканера также формируется отчет в формате HTML, в котором содержатся категории и число найденных уязвимостей, их описание, запросы, команды для curl и советы о том, как закрыть найденные дыры в безопасности.
Как и следовало ожидать, Wapiti до уровня OWASP ZAP, конечно, не дотягивает. Но все же он отработал качественнее W9scan, хотя не был произведен поиск директорий, субдоменов и определение версий сервисов.
Arachni
Мощный бесплатный комбайн для теста защищенности веб-приложений и поиска уязвимостей. Имеет графический интерфейс и огромную функциональность, о которой более подробно можно почитать на официальном сайте.
Внушительно, не правда ли? Но и это не все. В «паутину» завернута ещё куча плагинов, например Passive Proxy, Dictionary attacker for HTTP Auth, Cookie collector, WAF Detector и др.
Сканер имеет приятный и лаконичный веб-интерфейс:
И вот что нашел Arachni на наших тестовых сайтах. Php.testsparker.com:
На premium.bgabank.com из критичного была обнаружена только возможность межсайтовой подделки запросов (CSRF).
Отдельно отметим, какие симпатичные отчеты выдает нам Arachni. Поддерживается немало форматов — HTML, XML, text, JSON, Marshal, YAML, AFR.
В общем, Arachni оставляет после работы только положительные впечатления. Наше мнение: это «маст хэв» в арсенале любого уважающего себя спеца.
Paros
Еще один сканер веб-уязвимостей с графическим интерфейсом. По умолчанию включен в дистрибутив Kali Linux и установлен там локально. Имеет встроенный прокси, через который добавляются сайты для анализа, встроенный веб-паук, способный анализировать сайт и строить карту запросов.
Для сканирования личного кабинета пользователя необходимо авторизоваться в браузере с включенным перенаправлением трафика через прокси Paros. Сканер будет использовать авторизованные куки в процессе сканирования. Отчет о работе можно экспортировать в HTML. Он сохраняется в файл root/paros/session/LatestScannedReport.htm и в дальнейшем перезаписывается. Если вы хотите сохранить результат предыдущего сканирования, то перед началом следующего сканирования необходимо создать копию имеющегося файла.
Основные возможности (с оглядкой на OWASP TOP 10 2017):
В финальном отчете к каждому типу уязвимостей есть более подробная информация и некоторые рекомендации о способе устранения.
В нашем тестировании Paros показал довольно слабые результаты. На php.testsparker.com были найдены:
H: SQL injection
M: XSS
M: Устаревшие файлы с исходным кодом
M: Использование автозаполнения в формах с важной информацией (пароли и прочее).
L: Раскрытие внутренних IP
На premium.bgabank.com и того меньше:
M: Directory browsing
M: Использование автозаполнения в формах с важной информацией (пароли и прочее).
В итоге, хотя сканер Paros прост и достаточно удобен в использовании, слабые результаты сканирования заставляют отказаться от его использования.
Tenable.io
Платный многофункциональный облачный сканер, который умеет находить большое число веб-уязвимостей и почти полностью покрывает OWASP TOP 10 2017.
Сервис имеет встроенного веб-паука. Если в настройках сканирования указать данные авторизации (запрос авторизации, логин и пароль, авторизованные куки), то сканер проверит и личный кабинет (зону авторизованного пользователя).
Кроме сканирования веб-приложений, Tenable.io умеет сканировать сеть — как на предмет известных уязвимостей, так и для поиска хостов. Возможно подключение агентов для сканирования внутренней сети. Есть возможность экспортирования отчета в различные форматы: *.nessus, *.csv, *.db, *.pdf.
На скриншоте все домены «тестовые»
Дополнительные профили сканирования. В данной статье не затрагиваются
После сканирования становится доступна статистика и приоритизация найденных уязвимостей — critical, high, middle, low, information
В карточке уязвимости представлена дополнительная информация о ней и некоторые рекомендации по ее устранению.
Сканируем php.testsparker.com. Уязвимости с приоритетом high:
H: Уязвимости компонентов
— вышедшая из поддержки версия PHP
— вышедшая из поддержки версия Apache
H: Code injection
H: SQLinj
H: XSS
H: LFI
H: Path Traversal
Теперь premium.bgabank.com. Уязвимости с приоритетом high:
H: Уязвимости компонентов
Сканер Tenable.io показал себя хорошо, нашел множество уязвимостей. Работу с ним упрощает удобный графический интерфейс и представление данных. Еще один плюс — наличие дополнительных профилей сканирования, в которые мы пока решили не зарываться. Важной особенностью является облачная структура сервиса. С одной стороны, сервис не использует локальные вычислительные ресурсы рабочего компьютера. С другой — не сможет просканировать веб-приложения в локальной сети.
Burp Suite Pro
Burp Suite — это комплексное решение для проверок веб-приложений. Оно включает в себя разнообразные утилиты, позволяющие улучшить и ускорить поиск уязвимостей веб-приложений.
В составе Burp Suite есть следующие утилиты:
На вкладке Issue Definition представлен полный список всех уязвимостей, которые способен выявить данный сканер. Следует отметить, что список весьма внушительный.
Все уязвимости разделены на 3 категории: high, medium, low. Также есть категория information, к которой относятся механизмы сбора различной полезной информации о сканируемом ресурсе.
При запуске сканирования в окне Scan queue мы можем наблюдать за прогрессом по этапам. «Цветовая дифференциация штанов» присутствует.
На вкладке Options выполняется основная настройка параметров сканирования.
Для удобства опции разбиты по категориям. При необходимости можно получить справку по каждой категории прямо из окна настройки.
В целом Burp Suite Pro показал неплохой результат. При сканировании php.testsparker.com было найдено и классифицировано достаточно уязвимостей чтобы получить полный контроль над веб приложением и его данными — это и OS command injection, и SSTI, и File path traversal.
На сайте premium.bgabank.com были найдены:
H: Cross-site scripting (reflected)
M: SSL cookie without secure flag set
M: SSL certificate (not trusted or expired)
L: Cookie without HttpOnly flag set
L: Password field with autocomplete enabled
L: Strict transport security not enforced
Если для веб-пентеста вы часто используете Burp Suite, вам нравится его экосистема, но хотелось бы как-то автоматизировать процесс поиска уязвимостей, то эта утилита отлично впишется в ваш арсенал.
Acunetix
В заключение — еще один весьма неплохой коммерческий сканер. Его очень активно продвигают с помощью рекламы, но Acutenix не добился бы успеха без своей обширной функциональности. Среди доступных ему для обнаружения уязвимостей — все виды SQL injection, Cross site scripting, CRLF injection и прочие радости пентестера веб-приложений. Стоит отметить, что для качественного сканирования требуется выбрать правильный профиль.
Интерфейс дашборда приятный:
Все выявленные уязвимости по традиции раскладываются на четыре категории: High, Medium, Low. Ну и куда же без категории Information, в которую включаются все интересные, по мнению сканера, данные.
На вкладке Scans мы можем наблюдать прогресс сканирования и прочую диагностическую информацию.
После завершения сканирования на вкладке Vulnerabilities мы можем ознакомиться с тем, что и в каком количестве было найдено. Цветовая дифференциация на месте.
В тесте на php.testsparker.com сканер показал неплохой результат, а вот с premium.bgabank.com откровенно подкачал.
php.testsparker.com:
H: Apache 2.2.14 mod_isapi Dangling Pointer
H: Blind SQL Injection
H: Cross site scripting
H: Cross site scripting (verified)
H: Directory traversal
H: File inclusion
H: PHP code injection
H: Server-side template injection
H: SVN repository found
H: User controllable script source
M: Access database found
M: Apache 2.x version older than 2.2.9
M: Apache httpd remote denial of service
M: Apache httpOnly cookie disclosure
M: Application error message
M: Backup files
M: Directory listing
M: HTML form without CSRF protection
M: Insecure clientaccesspolicy.xml file
M: Partial user controllable script source
M: PHP hangs on parsing particular strings as floating point number
M: PHP preg_replace used on user input
M: Source code disclosure
M: User credentials are sent in clear text
L: Apache 2.x version older than 2.2.10
L: Apache mod_negotiation filename bruteforcing
L: Clickjacking: X-Frame-Options header missing
L: Login page password-guessing attack
L: Possible relative path overwrite
L: Possible sensitive directories
L: Possible sensitive files
L: TRACE method is enabled
premium.bgabank.com:
L: Clickjacking: X-Frame-Options header missing
Acunetix имеет большие возможности и подойдет, если вы ищете stand-alone решение. Веб-интерфейс прост и понятен, инфографика и отчеты выглядят вполне удобоваримо. Возможны осечки при сканировании, но, как говорил Тони Старк: «С мужиками такое случается. Не часто. Один разок из пяти».
Общие итоги
А теперь выводы по всем протестированным сканерам.