Привет! Вторая статья из цикла тестирования безопасности web-приложений. В прошлой заметке рассказывал как развернуть тестовое приложение bWAPP. Для проведения аудита безопасности (далее — пентест) буду использовать Burp Suite. Это интегрированная платформа включающая в себя большой набор утилит для тестирования web-приложений. Позволяет не только в ручном, но и в автоматическом режиме проводить как позитивное, так и негативное тестирование приложений. Инструмент написан на Java. С ним можно работать на Windows, Linux или Mac. В Kali Linux она уже предустановлена. Конечно же в рамках одной статьи сложно рассказать о всех возможностях Burp Suite, не говоря уже о многочисленных полезных плагинах расширяющих функционал практически до безграничного полёта фантазии исследовательского пентеста. По этому на примере отправки данных с моей формы feedback’a посмотрим как работать с основными компонентами Burp — repeater и intruder.
Как писал выше Burp Suite является кроссплатформенной. Тестовое окружение: ОС Windows 10 и Burp Suite Professional v.2020.9.1. Вообще данное ПО поставляется в официальных трёх сборках (редакциях) — Community (бесплатная, базовая), Professional и Enterprise. Последняя отличается от профессиональной наличием возможности подружить её с CI (системой непрерывной интеграции типа Jenkins). Со скачиванием и установкой базовой редакции community проблем быть не должно.
Подробно не останавливаюсь. Burp — выступает в роли proxy. Последнее нам нужно настроить в зависимости от того в каком браузере планируется работать.
Mozilla Firefox.Запускаем Burp Suite. Переходим во вкладку Proxy, затем под-вкладка Options и видим блок Proxy Listeners. В столбце Interface видим «127.0.0.1:8080«. Видим что прокси-сервер Burp по умолчанию работает на 127.0.0.1:8080.
Рекомендую для удобства работы с прокси-серверами в firefox установить расширение ProxyFoxy. Там добавить proxy:
Проверим правильность настройки. С запущенным Burp в firefox перейдите по любой ссылке. Лиса не должна загрузить сайт. В Burp переходим Proxy -> Intercept. Кликаем на кнопку Intercept is on, она должна измениться на Intercept is off. Возвращаемся в firefox и видим что сайт начал загружаться. Отлично! Пол дела сделано. С учётом того что тестовая форма (feedback) живёт на сайте который поддерживает протокол шифрования https нам надо произвести ещё одну настройку.
Настройка работы с HTTPS.При включённом Burp переходим в firefox по ссылке: http://burp/ В правом верхнем углу видим CA Certificate, нажимаем и загружаем файл с сертификатом.



А что если имеются определённые требования для валидации этих полей согласно которых нужно провести тестирование? К примеру для поля ввода номера телефона запрещено вводить буквы, а для ввода e-mail такая регулярка: ^([a-z0-9_-]+\.)*[a-z0-9_-]+@[a-z0-9_-]+(\.[a-z0-9_-]+)*\.[a-z]{2,6}$
Каждый раз в ручную менять данные в Repeater’е? Так себе решение для автоматизатора. Для этого есть Intruder, и заранее подготовленные тестовые данные.
Выбираем наш запрос и выбираем «Send to Intruder». Создастся новая вкладка в Intruder’е. Дальнейшие шаги на видео ниже.
[member] [/member]Выбранный Attack type = Pitchfork будет последовательно подставлять значения из payload set (1) и payload set (2). Добавленный Grep — Extract очень удобный фильтр по которому можно отсеивать responce с конкретными содержащимися внутри данными. В частности сделал фильтр на то что данные успешно обработаны и отправлены. В вкладке Options в разделе Request Engine есть тонкая настройка к примеру для тормозных стендов. Настроенный конфиг в Intruder со всеми параметрами можно сохранить и потом при следующей загрузке поднять и повторно использовать.
Это только малая часть того что можно рассказать о возможностях Burp Suite. В какой-то из следующих статей цикла будем использовать Burp при пентесте развёрнутого ранее bWAPP.
Удачи!
Отправляя сообщение, Вы разрешаете сбор и обработку персональных данных. Политика конфиденциальности.