Svyatoslav Login
6 min readAug 1, 2018

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.

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

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

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

Затем надо пойти во вкладку 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, что означает сканировать на все эти уязвимости.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Понравилась статья? Есть и другие интересные истории, переходите на мой блог https://svyat.tech/