Что такое Burp Suite?
Burp Suite — ведущая индустриальная платформа для тестирования безопасности веб-приложений. Для QA-инженеров Burp предоставляет комплексный набор инструментов для ручного и автоматизированного тестирования безопасности, включая перехватывающие прокси, сканеры и специализированные инструменты для обнаружения уязвимостей.
Редакции Burp Suite
- Community Edition - Бесплатная, ограниченное автоматическое сканирование
- Professional - Полный сканер, продвинутые инструменты ($449/год)
- Enterprise - CI/CD интеграция, командная работа ($3,999/год)
Основные Компоненты
1. Proxy - Перехват и Модификация Трафика
# Настроить браузер для использования Burp proxy
# Настройки proxy: localhost:8080
# Установить CA сертификат Burp
# Перейти на: http://burp
# Скачать cacert.der и установить в браузер
Перехват Запросов:
1. Включить "Intercept is on" во вкладке Proxy
2. Перейти к target в браузере
3. Просмотреть/изменить запрос в Burp
4. Нажать "Forward" для отправки или "Drop" для блокировки
2. Scanner - Автоматическое Обнаружение Уязвимостей
Настройка Scanner:
1. Правый клик на target в Proxy/Target
2. Выбрать "Scan" или "Actively scan this host"
3. Настроить параметры сканирования:
- Лимиты crawl
- Скорость сканирования
- Типы issues для обнаружения
3. Intruder - Автоматические Атаки
Пример Fuzzing:
1. Отправить запрос в Intruder (Правый клик → "Send to Intruder")
2. Установить позиции payload:
POST /api/users HTTP/1.1
{"user_id": §1§, "role": "§admin§"}
3. Настроить типы payload:
- Позиция 1: Числа (1-1000)
- Позиция 2: Простой список (admin, user, guest)
4. Запустить атаку и проанализировать ответы
Типы Атак:
- Sniper - Одна позиция payload
- Battering Ram - Один и тот же payload во всех позициях
- Pitchfork - Итерация нескольких наборов payload параллельно
- Cluster Bomb - Все перестановки наборов payload
4. Repeater - Ручное Тестирование Запросов
1. Отправить интересный запрос в Repeater
2. Изменить параметры запроса
3. Нажать "Send" чтобы увидеть ответ
4. Сравнить несколько ответов бок о бок
Распространенные Тестовые Случаи:
- Обход Аутентификации: Удалить токены, изменить ID пользователей
- Тестирование Авторизации: Доступ к ресурсам с разными ролями пользователей
- Валидация Ввода: Тестировать границы, специальные символы, кодирование
5. Decoder - Кодирование/Декодирование Данных
Поддерживаемые кодировки:
- URL кодирование
- HTML кодирование
- Base64
- Hex
- ASCII hex
- Gzip
Продвинутые Техники
Управление Сессиями
1. Project Options → Sessions
2. Добавить "Cookie jar"
3. Настроить правила управления сессиями:
- Извлекать cookies из ответов
- Добавлять cookies к запросам
- Обрабатывать CSRF токены
Тестирование API
Тестирование GraphQL:
# Introspection запрос
{
__schema {
types {
name
fields {
name
type {
name
}
}
}
}
}
Тестирование JWT:
// Расширение Burp для декодирования/модификации JWT
function decodeJWT(token) {
const parts = token.split('.');
const header = JSON.parse(atob(parts[0]));
const payload = JSON.parse(atob(parts[1]));
return { header, payload, signature: parts[2] };
}
Расширения Burp
Обязательные Расширения
1. Autorize - Тестирование авторизации 2. Logger++ - Продвинутое логирование 3. Turbo Intruder - Высокоскоростные атаки 4. JWT Editor - Манипуляция JWT 5. Retire.js - Обнаружение уязвимых JavaScript библиотек
Лучшие Практики
Эффективный Workflow
Фаза Разведки:
- Картировать приложение с помощью Spider
- Просмотреть историю Proxy для интересных endpoint’ов
- Идентифицировать механизмы аутентификации/авторизации
Ручное Тестирование:
- Использовать Repeater для целевого тестирования
- Тестировать аутентификацию/авторизацию с разными ролями
- Проверять валидацию ввода на всех параметрах
Автоматическое Сканирование:
- Запускать пассивные сканы непрерывно
- Активное сканирование конкретных областей интереса
- Использовать Intruder для fuzzing и brute forcing
Заключение
Burp Suite — это швейцарский нож веб-тестирования безопасности. От перехвата трафика до автоматического сканирования и продвинутой эксплуатации, Burp расширяет возможности QA-инженеров для комплексной идентификации и валидации уязвимостей безопасности.
Ключевые Выводы:
- Освойте Proxy для анализа трафика
- Используйте Scanner для автоматического обнаружения уязвимостей
- Применяйте Intruder для fuzzing и brute forcing
- Используйте Repeater для ручной эксплуатации
- Расширяйте функциональность кастомными расширениями
- Интегрируйте в CI/CD для непрерывного тестирования безопасности