Логотип
Главная | Статьи | Свой Burp Suite плагин: автоматизируем SQLi/XSS тесты с API Burp Extender на Java
Свой Burp Suite плагин: автоматизируем SQLi/XSS тесты с API Burp Extender на Java

Свой Burp Suite плагин: автоматизируем SQLi/XSS тесты с API Burp Extender на Java

10 июня, 2025

104

Эй, кибер-боец! Сегодня мы замутим нечто крутое — собственный плагин для Burp Suite, который будет автоматически тестировать SQL-инъекции и XSS-уязвимости, а заодно подбирать параметры в реальном времени. Мы разберёмся с API Burp Extender на Java, напишем рабочий код и сделаем так, чтобы наш инструмент рвал рутину на куски. Если ты хочешь поднять свой пентест на новый уровень, то это твой билет в клуб хардкорных автоматизаторов. Погнали!

Зачем нужен свой плагин для Burp Suite?

Burp Suite — это уже мощный зверь для тестирования веб-приложений, но стандартные инструменты не всегда закрывают твои специфические нужды. Хочешь кастомные проверки на SQLi с хитрыми пейлоадами? Или автоматизировать XSS-атаки с фильтрацией ложных срабатываний? Тогда плагин — твой выбор. Мы создадим инструмент, который перехватывает запросы, анализирует параметры и в реальном времени подбирает уязвимые точки. Всё это на Java, используя Burp Extender API.

Что мы сделаем:

  • Настроим окружение для разработки плагинов.
  • Разберём основы Burp Extender API.
  • Напишем плагин для тестов SQLi и XSS с подбором параметров.
  • Покажем, как его запустить и использовать.

Подготовка: что нужно для старта?

  1. Burp Suite Professional: Бесплатная версия не поддерживает плагины, так что нужен Pro.
  2. Java Development Kit (JDK): Установи JDK 8 или выше, так как Burp работает на Java.
  3. IDE: IntelliJ IDEA или Eclipse — на твой выбор. Я использую IntelliJ для примеров.
  4. Burp Extender API: Документация и примеры есть на сайте PortSwigger. Скачай их или клони репозиторий с GitHub.

Настройка проекта

  1. Создай новый Java-проект в своей IDE.
  2. Добавь в зависимости JAR-файл Burp Suite (он лежит в папке с Burp) как внешнюю библиотеку. Обычно это burpsuite_pro.jar.
  3. Создай класс, который будет реализовывать интерфейс IBurpExtender — это точка входа для плагинов.

Основы Burp Extender API

Burp Extender API даёт тебе доступ ко всем внутренностям Burp Suite: ты можешь перехватывать запросы, модифицировать их, анализировать ответы и взаимодействовать с другими инструментами (Scanner, Intruder и т.д.). Основные интерфейсы, которые мы используем:

  • IBurpExtender: Главный интерфейс для регистрации плагина.
  • IHttpListener: Для перехвата HTTP-запросов и ответов.
  • IExtensionHelpers: Утилиты для работы с запросами/ответами (например, декодирование URL).

Наш плагин будет перехватывать запросы из прокси, проверять параметры на SQLi и XSS, а также подбирать уязвимые точки в реальном времени.

Пишем плагин: автоматизация SQLi и XSS тестов

Давай создадим плагин, который перехватывает GET/POST-запросы, ищет параметры (например, idqsearch) и тестирует их на SQL-инъекции и XSS. Если что-то срабатывает, мы логируем результат в консоль Burp.

Вот базовый код плагина:

Как это работает?

  1. Регистрация плагина: Метод registerExtenderCallbacks инициализирует плагин и регистрирует слушатель HTTP.
  2. Перехват запросов: Метод processHttpMessage срабатывает на каждый запрос, проходящий через Burp (например, из прокси).
  3. Анализ параметров: Мы проверяем GET и POST-запросы, ищем параметры вроде idq и т.д.
  4. Тестирование уязвимостей: Для каждого целевого параметра отправляем модифицированные запросы с пейлоадами SQLi и XSS.
  5. Проверка ответов: Ищем в ответах следы уязвимостей (например, ошибки SQL или отражение XSS-кода).

Замечание: Этот код — базовый пример. Реальная проверка SQLi/XSS требует более сложной логики (учёт контекста, фильтрация WAF и т.д.).

Компиляция и установка плагина

  1. Скомпилируй проект в JAR-файл. В IntelliJ IDEA: Build -> Build Artifacts -> JAR.
  2. Открой Burp Suite, перейди в Extender -> Extensions -> Add.
  3. Выбери тип Java, укажи путь к своему JAR-файлу.
  4. Если всё ок, в консоли Burp (вкладка Output) появится сообщение Vulnerability Checker Plugin Loaded!.

Теперь отправляй запросы через прокси Burp, и плагин будет автоматически тестировать параметры.

Лайфхаки для прокачки

  • Добавь UI: Используй интерфейс ITab для создания вкладки с настройками (например, список пейлоадов или целевых параметров).
  • Улучши подбор параметров: Реализуй более умный алгоритм замены параметров, учитывающий URL-кодирование и контекст.
  • Интеграция с Intruder: Используй API для отправки интересных параметров в Intruder для более глубокого анализа.
  • Фильтрация WAF: Добавь логику обхода WAF (например, вариации пейлоадов вроде 1'/**/OR/**/'1'='1').

Реальный пример: подбор параметров в реальном времени

Допустим, ты хочешь не просто проверять заранее заданные параметры, а динамически подбирать их из запросов. Обновим метод analyzeParameters, чтобы он собирал все параметры и выбирал подозрительные (например, те, что похожи на идентификаторы):

Теперь плагин сам находит интересные параметры. Это как твой личный ассистент, который копает за тебя.

Заключение: автоматизация рулит

Ты только что создал плагин для Burp Suite, который автоматизирует тесты SQLi и XSS, подбирает параметры в реальном времени и экономит тебе кучу часов ручной работы. Это только начало — Burp Extender API открывает бездны возможностей для кастомизации. Хочешь больше фич? Добавляй сложные пейлоады, интеграцию с другими инструментами или даже машинное обучение для анализа ответов.