Что такое 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

  1. Фаза Разведки:

    • Картировать приложение с помощью Spider
    • Просмотреть историю Proxy для интересных endpoint’ов
    • Идентифицировать механизмы аутентификации/авторизации
  2. Ручное Тестирование:

    • Использовать Repeater для целевого тестирования
    • Тестировать аутентификацию/авторизацию с разными ролями
    • Проверять валидацию ввода на всех параметрах
  3. Автоматическое Сканирование:

    • Запускать пассивные сканы непрерывно
    • Активное сканирование конкретных областей интереса
    • Использовать Intruder для fuzzing и brute forcing

Заключение

Burp Suite — это швейцарский нож веб-тестирования безопасности. От перехвата трафика до автоматического сканирования и продвинутой эксплуатации, Burp расширяет возможности QA-инженеров для комплексной идентификации и валидации уязвимостей безопасности.

Ключевые Выводы:

  • Освойте Proxy для анализа трафика
  • Используйте Scanner для автоматического обнаружения уязвимостей
  • Применяйте Intruder для fuzzing и brute forcing
  • Используйте Repeater для ручной эксплуатации
  • Расширяйте функциональность кастомными расширениями
  • Интегрируйте в CI/CD для непрерывного тестирования безопасности