Scanning web application with Burp Suite

Что такое Burp Suite?

 

Burp Suite – это так называемая платформа, в которой можно проводить аудит по безопасности веб-приложений. Он содержит множество инструментов для составления карты всего веб-приложения, поиска файлов и папок, модификации запросов, фаззинга, подбора паролей и многое другое. Также существует у него есть свой магазин различных дополнений BApp store, содержащий дополнительные расширения, увеличивающие функционал приложения. Хочу еще добавить о появление в последнем релизе мобильного помощника для проведения исследований по безопасности мобильных приложений — MobileAssistant.

 

Если брать статистику по репортам bug-bounty — то практически везде на всех скриншотах можно увидить использование именно этого инструмента. На ровне с OWASP ZAP это самый популярный набор утилит для тестирования вебки. 

 

У Burp Suite существует две версии Professional и Free

 

Отличия по функционалу в этих версиях довольно существенны. Free версия является полноценным инструментом тестирования, но одно из главных отличий, это отсутствие сканера этой версии и ограничение количества запросов за единицу времени. Также, в бесплатной версии отсутствуют встроенные пейлоады для интрудера, но если они вам нужны, то можно использовать внешние. Ну еще можно добавить ограничения и по иcпользованию разрешений из магаза BApp store. 

 

Основной функционал в модулях:

1) Proxy - сниффер прокси-сервер, работающий по протоколу HTTP(S) в режиме man-in-the-middle. Находясь между браузером и веб-приложением он позволит вам перехватывать, который можно не только изучать, но и изменять трафик идущий в обоих направлениях.

 

2) Spider - паук или краулер, который позволяет вам в автоматическом режиме собирать информацию про архитектуру веб-приложения.

 

3) Scanner - автоматический сканер уязвимостей включает в себя OWASP TOP 10 и другие. Доступен только в Professional версии.

 

4) Intruder - утилита, позволяющая в автоматическом режиме производить атаки различного вида, такие как подбор пароля, перебор идентификаторов, фаззинг и так далее.

 

5) Repeater - утилита для модифицирования и повторной отправки отдельных HTTP-запросов, также нужен для проведения анализа ответов приложения.

 

6) Sequencer - утилита для анализа генерации случайных данных приложения, выявления алгоритма генерации, предиктивности данных.

 

7) Decoder - утилита для ручного или автоматического преобразования данных веб-приложения.

 

8) Comparer - утилита для выявления различий в данных.

 

9) Extender — тут вы можите разширять возможности свого Burp Suite расширениями. Можно добавлять как готовые из BApp store, так и собственной разработки.

 

А теперь давайте перейдем к модулю Scanner. Где и поговорим подробнее о том как с помощью этого модуля можно проводить сканирование на такие уязвимости как XSS, SQL injaction и тд. вашего веб-приложения. Ранее я писал статью о том как это делать с помощью OWASP ZAP.

Вернуться назад
gallery/выделение_146
gallery/выделение_147
gallery/выделение_148
gallery/выделение_149
gallery/выделение_151
gallery/выделение_152
gallery/выделение_153
gallery/выделение_154
gallery/выделение_155
gallery/выделение_156
gallery/выделение_157
gallery/выделение_158
gallery/выделение_159
gallery/выделение_160

Удачи в поисках!!!

 

 

 

И помните все показанное выше, сделано в целях обучения!!!

Можно применять только на своих проектах, после разрешения.

После совершения настроек запускаем и наблюдаем за результатом в Scanner->Scan queue

 

После того как проделали работу можем выгрузить отчет по проделанной работе. Репорт может быть двух форматов HTML и XML. Берите Html он будет покрасивей и быстрей сгенерирован, чем Xml. 

После этого действия у нас появиться попап в котором нам надо задать настройки, такие как:

- нужно ли сканировать похожие урлы

- нужно ли сканировать те урлы которые уже были просканированны

- нужно ли сканировать значение без параметров в урле

- нужно ли сканировать переходы по таким типам данных как указаны в инпуте ниже

Также можно запускать активный сканер отдельно на какие-то модули, чтоб не тратить время на ожидания, пока просканиться полный проект. Для этого нам надо просто выбрать в левом блоке, где находиться у нас список ресурсов, нужный нам модуль для проведения сканинга и запустить Actively scan this branc

Ну а чтоб посмотреть какие уязвимости нашел сканер на каждой странице можно посмотреть во вкладке Target->Site map

Теперь спойкойно переходите в браузер, затем перейдите на те урлы вашего проекта, которые вы хотите отсканировать, то-есть те урлы, которые вы поситите в браузере будут добавлены в очередь на поиск уязвимостей в Burp Suite. Процесс сканирования вы сможете посмотреть во вкладке Scanner->Scan queue

И так, теперь во вкладке Proxy->Intercept делаем кнопку в положении Intercept is off

Ах, да, надо же и паука нашего настроить... Для этого переходим в Spider->Options. Там нам нужно только сделать пару правок:

- отменить в блоке Form submission отправку данных в формы, если конечно нам это не надо

- отменить в блоке Application Login отправку данных заданные для авторизации в наше приложение, если конечно нам не надо, если надо, то вписываем в соответствующие поля нужные нам данные для авторизации.

После выполненной настройки, перейдем в вкладку Spider->Control, где включим активность нашего паука, для запуска в нашу вебку. Для этого надо автивировать его с помощью кнопки Spider is paused, после чего у нас сменится название на Spider is running.

Затем переходим во вкладку Scanner->Options, где будем задавать конкретики типов уязвимостей, которые будем искать с помощью сканера.

 Затем надо пойти во вкладку Scanner,  где будем осуществлять настройку нашего сканера. Для начала перейдем в подвкладку Live scanning, где увидим два блока:

 

- Live Active Scanning, в этом моде сканирования Burp принимает индивидуальный запрос к приложению, называемый «базовым запросом», и изменяет его различными способами, предназначенными для запуска поведений, которые будут указывать на присутствие различных уязвимостей. Эти измененные запросы отправляются в приложение, и полученные ответы анализируются. Во многих случаях дальнейшие запросы будут отправляться, основываясь на результатах первоначальных зондов. Выставляем здесь значение Use suite scope, что означает брать скоуп задач, заданных с вкладки Target->Scope

 

Live Passive Scanning, В этом моде сканирования Burp не отправляет никаких новых запросов в приложение - он просто анализирует содержимое существующих запросов и ответов, находя в них уязвимости.

 

Этот пассивные методы может найти такие виды уязвимостей:

- Передача паролей

- Небезопасные атрибуты cookie, такие как отсутствие HttpOnly и безопасных флагов

- Либеральный объем файлов cookie

- Междоменный скрипт, включая в себя и утечку Referer

- Формы с автозаполнением

- Кэширование содержимого в SSL

- Представленные пароли возвращаются в последующих ответах

- Небезопасная передача сессионных токенов

- Утечка информации, такой как внутренние IP-адреса, адреса электронной почты, следы стека и т.д.

- Небезопасная конфигурация ViewState

- Неоднозначные, неполные, неправильные или нестандартные директивы Content-type

 

В этом блоке выбираем значение Scan everything, что означает сканировать на все эти уязвимости.

Если вам не подходят стандартные параметры (порт, протокол), добавленые системой, можете отредактировать на свои данную цель, выбрав текущею цель и нажав на кнопку edit.

Чтоб начать работу, нужно для начала настроить проксю в каком-то из браузеров, чтоб приложения Burp Suite могло сделать перехват запросов идушие на сервер с веб приложения. Как это сделать, можете прочесть в этой статье Brute force.

 

После настройки прокси в браузере и приложении, переходим в браузере на наш веб приложение. Затем в Burp Suite переходим на вкладку Target->Scope, в которой добавляем нашу цель для проведения аудита. Для этого нужно добавить в таблицу include in scope наш сайтец, нажав нопку Paste URL, он туда подтянется автоматом.