Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
generator-burp-extension — Всё, что нужно знать о генерации расширений Burp | Kitploit
Инструменты/GitHubGitHub/rsrdesarrollo/generator-burp-extension
Скриптинг и автоматизацияВеб-безопасностьТестирование на ПроникновениеУтилиты и фреймворки
GitHubrsrdesarrollo/generator-burp-extension

generator-burp-extension

Всё, что нужно знать о генерации расширений Burp

Репозиторий

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
158273 лет назадПроверено Kitploit

Генератор расширений Burp NPM version

Установка

Сначала установите Yeoman и generator-burp-extension с помощью npm (предполагается, что у вас уже установлен node.js).

root@kitploit:~
npm install -g yo
npm install -g generator-burp-extension

Затем сгенерируйте ваш новый проект:

root@kitploit:~
yo burp-extension

Возможности расширений Burp

При генерации проекта плагина генератор спросит вас, какие возможности следует включить в ваш плагин. Если вы знакомы с разработкой расширений Burp, названия возможностей будут достаточно описательными, но если вы новичок в расширениях Burp, вот краткое описание того, что можно сделать с каждой возможностью.

Вкладка графического интерфейса расширения

Пользовательская вкладка, которая будет добавлена в интерфейс Burp. Обычно используется для добавления некоторой функциональности (например, расширение logger++) или просто для настройки расширения пользователем.

Вкладка графического интерфейса редактора сообщений

Пользовательская вкладка редактора сообщений, которая будет добавлена в интерфейс редактора сообщений Burp (Repeater, Intruder...). Обычно используется для предоставления некоторой пользовательской функциональности редактора/просмотра в полезной нагрузке запросов/ответов. Один из примеров — расширение JSON Beautifier.

Контекстное меню GUI

Пользовательское контекстное меню будет добавлено почти в любом месте интерфейса Burp при нажатии правой кнопки мыши. Burp позволяет отображать контекстные меню в любой из следующих ситуаций:

  • Результаты атак Intruder.
  • Редактор позиций полезной нагрузки Intruder.
  • Редактор запросов.
  • Редактор ответов.
  • Просмотрщик нередактируемых запросов.
  • Просмотрщик нередактируемых ответов.
  • История прокси.
  • Результаты сканера.
  • Окно результатов поиска.
  • Таблица карты сайта цели.
  • Дерево карты сайта цели.

Простой пример этой функциональности — расширение copy-as-python-requests, которое позволяет скопировать запрос в виде кода Python (просто пример).

HTTP-прослушиватель / Прокси-прослушиватель

Прослушиватель будет уведомлен о запросах и ответах, обрабатываемых инструментом Proxy (Прокси-прослушиватель) или любым инструментом Burp (HTTP-прослушиватель). Расширения могут выполнять пользовательский анализ или модификацию этих сообщений.

Другими словами, Прокси-прослушиватель перехватывает запросы, поступающие от браузера в Burp, и ответы, идущие от Burp к браузеру. HTTP-прослушиватель перехватывает исходящие запросы от Burp к веб-серверу и входящие ответы, поступающие от веб-сервера.

Пример реального плагина, использующего эту функцию расширения, — AutoRepeater

Генератор полезной нагрузки Intruder

Расширение полезных нагрузок Intruder с добавлением пользовательских возможностей генерации. Один из возможных вариантов использования этой функциональности — генерация случайных действительных номеров IBAN. Реальный пример — расширение Intruder file payload generator (я его не использую, это просто пример).

Обработчик полезной нагрузки Intruder

Расширение полезных нагрузок Intruder с добавлением пользовательских возможностей обработки. Один возможный пример — выполнение шифрования AES на основе статического ключа.

Проверка сканера

При выполнении сканирования Burp будет запрашивать у проверки выполнение активного или пассивного сканирования базового запроса и сообщать о любых обнаруженных проблемах сканера.

Поставщик точек вставки сканера

Когда запрос активно сканируется, сканер вызывает это, и поставщик должен предоставить список пользовательских точек вставки, которые будут использоваться в сканировании.

Действие обработки сессии

Каждое зарегистрированное действие будет доступно в интерфейсе правил обработки сессий для выбора пользователем в качестве действия правила. Пользователи могут либо напрямую вызвать действие, либо после выполнения макроса.

Прослушиватель состояния расширения

Прослушиватель будет уведомлен, когда расширение выгружается из Burp. Примечание: любые расширения, запускающие фоновые потоки или открывающие системные ресурсы (например, файлы или соединения с базами данных), должны зарегистрировать прослушиватель и завершить потоки / закрыть ресурсы при выгрузке расширения.

Прослушиватель сканера

Прослушиватель будет уведомлен о новых проблемах, о которых сообщает инструмент Scanner. Расширения могут выполнять пользовательский анализ или логирование проблем сканера, зарегистрировав прослушиватель сканера.

Прослушиватель изменения области

Прослушиватель будет уведомляться каждый раз, когда происходит изменение в общецелевой области Burp.

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

Компромиссы

В этом разделе объясняются некоторые решения, принятые при разработке шаблона.

Почему Java, а не Python/Ruby

Прежде всего, я не фанат Java

Как вы, возможно, знаете, BurpSuite позволяет разрабатывать расширения на трёх основных языках: Java, Python и Ruby. На самом деле это не совсем так. Burp позволяет разрабатывать на Jython и JRuby. Реальная проблема здесь в том, что при использовании Jython или JRuby в расширении Burp вам всё равно нужно думать на Java (потому что это основной язык Burp), поэтому в итоге вы будете разрабатывать на Python и Java, но с множеством проблем при интеграции вашего проекта с настоящей IDE, с автодополнением и прочими современными вещами.

Ещё одна веская причина использовать Java вместо Jython — это то, что он основан на Python 2.7, а я не использую JRuby, потому что не люблю Ruby, и всё.

Всё — Синглтон (ведущая статья)

Как вы могли заметить, все реализации интерфейса Burp следуют шаблону Singleton. Основная причина этого — полностью субъективна.

Дело в том, что Burp — отличный инструмент, но его внутренняя часть несколько туманна и, вероятно, немного запутана. Так, например, Burp позволяет регистрировать несколько IHTTPListeners, но вы потеряете важные решения, например порядок вызова этих прослушивателей. Подобные ситуации, на мой скромный взгляд, могут затруднить понимание расширения Burp и поддержку кода.

Вы можете рассматривать каждый класс-синглтон как необходимую точку соединения с Burp, которая должна быть уникальной. Из этой точки соединения вы можете управлять своим кодом, используя любой объектно-ориентированный дизайн.

Лицензия

MIT © Raul Sampedro

Скачать инструмент