Поддержка разработки
Если этот проект помогает вашей работе, поддержите текущее обслуживание и новые функции.
Кошелек для пожертвований ETH
0x11282eE5726B3370c8B480e321b3B2aA13686582
Отсканируйте QR-код или скопируйте адрес кошелька выше.
BurpWpsScan

Расширение для Burp Suite, которое обнаруживает сайты WordPress во время тестирования веб-приложений (пассивное обнаружение + активная проверка), проводит комплексную оценку безопасности, включая сканирование уязвимостей ядра WordPress, плагинов и тем через API WPScan, тестирует доступность XML-RPC/REST API, перечисляет пользователей, проверяет версии плагинов и генерирует готовые к использованию в ИИ отчеты.
Совместимо с редакциями Burp Suite Community и Professional.
Скриншоты
Главный интерфейс
Основной интерфейс WpsScan с обнаруженными сайтами WordPress, индикаторами состояния и элементами управления сканированием
Экспортированные отчеты
Организованная структура экспорта с отчетами в форматах JSON, Markdown и готовыми к ИИ для каждого просканированного сайта
Сырой JSON WPScan
Подробный вывод JSON, содержащий полные данные об уязвимостях и метаданные сканирования
Возможности
Обнаружение и поиск
- Живое обнаружение WordPress: пассивно выявляет сайты WordPress из трафика в реальном времени
- Сканирование HTTP-истории: сканирует историю HTTP Burp для поиска сайтов WordPress из прошлого трафика (помечается меткой [HTTP HISTORY])
- Массовый импорт URL: активно проверяет и импортирует несколько URL для пакетного обнаружения WordPress
- Обнаружение плагинов/тем: извлекает плагины и темы из HTTP-ответов и истории
- Определение версии: определяет версию ядра WordPress из нескольких источников (мета-теги, ленты, API)
Сканирование уязвимостей
- Интеграция с API WPScan: запрашивает базу данных уязвимостей WPScan для:
- Уязвимости ядра WordPress
- Уязвимости плагинов (80+ высокорисковых плагинов + до 3 других)
- Уязвимости тем
- Информация об уязвимостях в реальном времени: показывает название и тип уязвимости сразу после сканирования каждого компонента
- Умное сканирование плагинов: сканирует ВСЕ 80+ высокорисковых плагинов + до 3 других (экономит 60-80% API-кредитов)
- 24-часовой кеш API: никогда не сканирует один и тот же плагин/тему дважды за 24 часа (сохраняется между перезапусками Burp)
Оценка безопасности
- Тестирование безопасности XML-RPC:
- Определяет, включена ли конечная точка XML-RPC
- Тестирует метод pingback.ping (риск DDoS-усиления)
- Тестирует метод system.multicall (риск усиления brute force)
- Обнаружение REST API:
- Перечисляет доступные конечные точки REST API WordPress (/wp-json/wp/v2/)
- Тестирует конечные точки пользователей, записей, страниц и медиафайлов
- Отмечает уязвимости перечисления пользователей
- Перечисление пользователей:
- Пытается перечислить пользователей через REST API (/wp-json/wp/v2/users)
- При неудаче использует метод перенаправления автора (?author=N)
- Извлекает имена пользователей и ID для разведки
- Мониторинг обновлений плагинов: проверяет плагины на WordPress.org на наличие последних версий (без использования API-кредитов)
- Обнаружение усиления безопасности: определяет плагины безопасности и меры защиты
Рабочий процесс и управление
- Два режима обнаружения: живое сканирование + сканирование истории HTTP работают независимо
- Счетчик API-кредитов: отслеживание использования API в реальном времени (сбрасывается в полночь)
- Отслеживание статуса: помечайте сайты как Scanned, Vulnerable или False Positive с постоянным хранением
- Экспорт отчетов: создает структурированный JSON, форматированный Markdown и готовые к ИИ промпты
- Нормализация URL: автоматически преобразует поддомены в корневые домены (cd.krytter.com → krytter.com)
- Поддержка протоколов: обрабатывает как HTTP, так и HTTPS версии одного сайта
- Визуальные индикаторы: цветовая кодировка состояния с метками [HTTP HISTORY] и [IMPORTED]
Установка
Предварительные требования
- Burp Suite Community или Professional (протестировано на версии 2023.x+)
- API-ключ WPScan (бесплатный уровень доступен по адресу https://wpscan.com/api)
Шаги
-
Клонируйте или загрузите этот репозиторий:
git clone https://github.com/Teycir/BurpWpsScan.git
cd BurpWpsScan
-
Загрузите расширение в Burp Suite:
- Перейдите в
Extensions → Installed
- Нажмите
Add
- Тип расширения:
Python
- Выберите файл:
WpsScan.py
- Нажмите
Next
-
Настройте API-ключ:
- Перейдите на вкладку "WpsScan" в Burp Suite
- Введите свой API-ключ WPScan в текстовое поле вверху
- Нажмите кнопку "Save Key"
- Ключ сохраняется в
C:\burpwpscan_exports\wpsscan_config.txt (Windows перебирает диски C-Z) или /tmp/burpwpscan_exports/wpsscan_config.txt (Linux/Mac)
-
Проверьте установку:
- Проверьте наличие вкладки "WpsScan" в Burp Suite
- Ищите сообщение об успехе в
Extensions →
Использование
Живое обнаружение
- Убедитесь, что кнопка "Live Scan: ON" активна (зеленый)
- Переходите по целевым веб-сайтам через Burp (Proxy, Repeater, Scanner и т.д.)
- Расширение автоматически отслеживает HTTP-трафик и обнаруживает сайты WordPress в реальном времени
- Обнаруженные сайты появляются в списке вкладки WpsScan
Сканирование HTTP-истории
- Нажмите кнопку "Scan HTTP History"
- Расширение сканирует весь прошлый HTTP-трафик в истории Burp
- Найденные сайты WordPress добавляются с меткой [HTTP HISTORY] синим цветом
- Можно добавлять сайты, даже если они уже существуют от живого сканирования
- Полезно для поиска сайтов WordPress из предыдущих сессий
Почему сканирование HTTP-истории эффективно:
- Обнаруживает больше плагинов: главная страница часто загружает только 2-3 плагина, но просмотр нескольких страниц (магазин, блог, контакты) загружает разные плагины
- Пример: на главной странице может быть
contact-form-7, страница магазина загружает woocommerce, checkout загружает stripe, блог загружает yoast-seo
- Лучшее покрытие: сканирование истории HTTP после просмотра 5-10 страниц может обнаружить 10-20+ плагинов по сравнению с 2-3 только с главной страницы
- Экономит API-кредиты: больше найденных плагинов = более точная оценка уязвимостей без повторного сканирования
- Лучшая практика: тщательно просмотрите целевой сайт через Burp Proxy, затем нажмите "Scan HTTP History" перед запуском WPScan
Массовый импорт URL
- Нажмите кнопку "Import URLs"
- Вставьте URL в текстовую область (по одному на строку)
- Нажмите "Import", чтобы добавить их в список сканирования
- Расширение автоматически проверяет, является ли каждый URL действующим сайтом WordPress, перед импортом
- Только подтвержденные сайты WordPress добавляются в сканер
- Поддерживает как HTTP, так и HTTPS URL
- Идеально подходит для импорта целей из инструментов разведки (subfinder, amass и т.д.)
Примечание: расширение отправляет HTTP-запросы для проверки сигнатур WordPress (wp-content, wp-includes и т.д.) перед добавлением URL. Сайты, не являющиеся WordPress, автоматически отфильтровываются.
Ручное сканирование
Вариант 1 - Двойной щелчок:
- Дважды щелкните на обнаруженном сайте WordPress в списке
- Подтвердите сканирование в диалоге
- Дождитесь завершения сканирования
Вариант 2 - Интерфейс кнопок:
- Нажмите "Scan All", чтобы сканировать все обнаруженные сайты
Результаты сканирования
Расширение предоставляет подробную обратную связь в реальном времени во время сканирования:
Тесты безопасности:
[+] XML-RPC включен
[!] Pingback доступен (риск DDoS)
[!] Multicall доступен (усиление brute force)
[+] Конечная точка REST доступна: Users
[+] Конечная точка REST доступна: Posts
Уязвимости ядра:
[+] Ядро: 2 уязвимости
- WP < 6.8.3 - Author+ DOM Stored XSS (SENSITIVE DATA DISCLOSURE)
- WP < 6.8.3 - Contributor+ Sensitive Data Disclosure (SENSITIVE DATA DISCLOSURE)
Уязвимости плагинов:
[+] Плагин 'searchwp': 1 уязвимость
- SearchWP < 4.2.6 - Subscriber+ Settings Update (NO AUTHORISATION)
[+] Плагин 'wp-parsely': 0 уязвимостей (чисто)
[*] Плагин 'contact-form-7': последняя версия 5.8.4
Уязвимости тем:
[+] Тема 'rollingstonesofficial': 0 уязвимостей (чисто)
Визуальные индикаторы
- [HTTP HISTORY]: Синяя метка указывает, что сайт был найден при сканировании истории HTTP
- [IMPORTED]: Фиолетовая метка указывает, что сайт был импортирован через массовый импорт URL
- Цветовые строки:
- Желтый: в процессе сканирования
- Зеленый: сканирование завершено
- Красный: ошибка сканирования
- Чередующиеся белый/серый: по умолчанию
Маркировка сайтов
- Выберите сайт из списка
- Используйте флажки внизу:
- Scanned: отметить как проверенное вручную
- Vulnerable: найдены подтвержденные уязвимости
- False Positive: на самом деле не WordPress или неактуально
- Метки сохраняются между перезапусками Burp
Экспорт отчетов
- Нажмите кнопку "Export Reports"
- Отчеты сохраняются в:
- Windows:
C:\burpwpscan_exports\scan_YYYYMMDD_HHMMSS\ (перебирает диски C-Z)
- Linux/Mac:
/tmp/burpwpsscan_exports/scan_YYYYMMDD_HHMMSS/
- Каждый сайт получает:
raw_wpscan.json - Ответ API в сыром виде
report.md - Отформатированный отчет в Markdown
ai_prompt.txt - Готов к анализу ИИ
Поиск и фильтрация
- Поле поиска: фильтрация сайтов по URL
- Выпадающий список сортировки: сортировка по умолчанию, Host, Status или Detection Time
Отслеживание API-кредитов
- Счетчик Websites Scanned: отображает "Websites Scanned: X" - отслеживает количество просканированных сайтов
- Счетчик API Credits: отображает "API Credits: X" - отслеживает фактические вызовы API
- Цветовые индикаторы (для API Credits):
- Зеленый: 0-19 вызовов (безопасно)
- Оранжевый: 20-24 вызова (предупреждение)
- Красный: 25+ вызовов (лимит достигнут)
- Автосброс: счетчики сбрасываются в полночь (00:00)
- Постоянство: сохраняются после перезапусков Burp
- Ручной сброс: используйте кнопку "Reset", чтобы очистить оба счетчика
Форматы отчетов
Отчет Markdown (report.md)
Человекочитаемый отчет об уязвимостях с:
- Краткое описание
- Результаты безопасности (XML-RPC, REST API exposure)
- Подробные описания уязвимостей
- Ссылки на CVE
- Рекомендации по устранению
- Технические детали
Промпт для ИИ (ai_prompt.txt)
Структурированный промпт для анализа ИИ, включающий:
- Сводка результатов сканирования
- Детали уязвимостей
- Запрос руководства по эксплуатации
- Шаги по устранению
- Оценка бизнес-воздействия
Экспорт JSON (raw_wpscan.json)
Машиночитаемый формат с:
- Метаданные сканирования
- Информация о версии WordPress
- Полные данные об уязвимостях
- Информация о плагинах/темах
- Статус безопасности XML-RPC
- Обнаружение конечных точек REST API
- Информация об обновлениях плагинов
- Статистика
API-ключи и оптимизация кредитов
API WPScan
- Бесплатный тариф: 25 запросов/день
- Регистрация: https://wpscan.com/api
- Цены: бесплатного тарифа достаточно для большинства пентестов
- Настройка: введите API-ключ в интерфейсе расширения и нажмите "Save Key"
Умное использование API-кредитов
Расширение использует интеллектуальные стратегии для минимизации использования API:
1. Приоритизация умных плагинов (80+ высокорисковых плагинов)
- Сначала сканируются высокорисковые плагины (WooCommerce, Contact Form 7, Elementor и т.д.)
- Покрывает 95% реальных эксплойтов WordPress
- Категории: Формы, Электронная коммерция, Конструкторы страниц, SEO, Безопасность, Резервное копирование, Кеш, LMS, Слайдеры, Социальные сети, Управление файлами, Перевод
2. Комплексное сканирование высокого риска
- Сканируются ВСЕ найденные высокорисковые плагины (WooCommerce, Elementor, Contact Form 7 и т.д.)
- Сканируются до 3 дополнительных невысокорисковых плагинов
- Логика: никогда не пропускать критических уязвимостей в известных опасных плагинах
3. 24-часовой кеш ответов API
- Результаты плагинов/тем кешируются на 24 часа
- Сохраняется между перезапусками Burp (
wpsscan_api_cache.json)
- Пример: сканирование 10 сайтов с "contact-form-7" = 1 вызов API (9 кешированы)
- Индикаторы кеша отображаются в логах с префиксом
[CACHE]
4. Пропуск уже просканированных сайтов
- "Scan All" автоматически пропускает сайты с существующими результатами
- Предотвращает случайное повторное сканирование и трату кредитов
Экономия API-кредитов
До оптимизаций:
- На сайт: 1 (ядро) + 10 (плагины) + 5 (темы) = 16 вызовов API
- 10 сайтов = 160 вызовов API
После оптимизаций (типичный случай):
- На сайт: 1 (ядро) + 5 (высокорисковые плагины) + 1 (тема) = 7 вызовов API
- 10 сайтов = 70 вызовов API
- Экономия: снижение на 56%
После оптимизаций (с кешем):
- Первый сайт: 7 вызовов API
- Следующие 9 сайтов с теми же высокорисковыми плагинами: по 1 вызову API каждый (кешировано)
- Всего: 16 вызовов API
- Экономия: снижение на 90%
Конфигурация
Управление API-ключами
- API-ключи управляются через интерфейс
- Введите свой API-ключ WPScan в текстовое поле вверху расширения
- Нажмите "Save Key", чтобы сохранить ключ
- Ключи хранятся в:
C:\burpwpscan_exports\wpsscan_config.txt (Windows перебирает диски C-Z) или /tmp/burpwpscan_exports/wpsscan_config.txt (Linux/Mac)
- Перезапуск Burp не требуется после изменения API-ключа
Режимы обнаружения
- Live Scan: переключите ON/OFF, чтобы включить/отключить обнаружение в реальном времени
- HTTP History: нажмите кнопку, чтобы просканировать весь прошлый HTTP-трафик
- Оба режима работают независимо с отдельной логикой
Умное поведение сканирования
- Высокорисковые плагины сканируются первыми: WooCommerce, Elementor, Contact Form 7 и т.д.
- Комплексное сканирование: сканирует все высокорисковые плагины, чтобы не пропустить уязвимости
- С учетом кеша: пропускает вызовы API для недавно просканированных плагинов/тем
- Дедупликация: "Scan All" сканирует только сайты без существующих результатов
Нормализация URL
- Поддомены преобразуются в корневые домены (cd.krytter.com → krytter.com)
- Стандартные порты (80, 443) удаляются из URL
- HTTP и HTTPS обрабатываются как отдельные записи
- История HTTP может добавлять сайты, даже если они существуют от живого сканирования
Устранение неполадок
Расширение не загружается
- Работает с редакциями Community и Professional
- Проверьте среду Python в Burp:
Extensions → Options → Python Environment
- Просмотрите сообщения об ошибках в
Extensions → Errors
Ошибки API-ключа
- Проверьте, что API-ключ введен в текстовое поле интерфейса
- Нажмите "Save Key", чтобы сохранить ключ
- Проверьте формат API-ключа (без кавычек, без пробелов)
- Windows: расширение перебирает диски C-Z для хранения, проверьте вывод Burp Extender для фактического используемого пути
- Проверьте ключ API вручную:
curl -H "Authorization: Token token=YOUR_KEY" https://wpscan.com/api/v3/wordpresses/64
Сайты WordPress не обнаружены
- Убедитесь, что Burp Proxy активен и перехватывает трафик
- Переходите по сайтам WordPress (не только главная страница)
- Попробуйте нажать "Scan HTTP History", чтобы проверить прошлый трафик
- Убедитесь, что Live Scan включен (зеленая кнопка)
- Проверьте шаблоны обнаружения в выводе расширения
Сканирование не удается
- Проверьте подключение к интернету
- Проверьте статус API WPScan: https://wpscan.com/
- Обратите внимание на ограничения частоты (25/день для бесплатного тарифа)
- Проверьте вывод расширения на наличие сообщений об ошибках
Безопасность и юридические аспекты
⚠️ ВАЖНО: Сканируйте только те сайты, на тестирование которых у вас есть явное разрешение.
- Этот инструмент предназначен только для авторизованного тестирования безопасности
- Неавторизованное сканирование может быть незаконным в вашей юрисдикции
- Применяются условия обслуживания API WPScan
- Всегда получайте письменное разрешение перед тестированием
Вклад
Приветствуются вклады! Пожалуйста:
- Форкните репозиторий
- Создайте ветку функции
- Внесите свои изменения
- Тщательно протестируйте с Burp Suite
- Отправьте запрос на слияние
Лицензия
Лицензия MIT — подробности в файле LICENSE
Благодарности
- Команда WPScan: за отличный API базы данных уязвимостей
- PortSwigger: за расширяемость Burp Suite
- Расширение CopyIssues: вдохновение для UI/UX
Поддержка
История изменений
См. CHANGELOG.md для истории версий и обновлений.
Версия: 1.3.1
Автор: Teycir (teycirbensoltane.tn)
Последнее обновление: 2025-11-17
Сделано Teycir | teycirbensoltane.tn