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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2024-40094 — Этот скрипт эксплуатирует уязвимость CVE-2024-40094 в graphql-java | Kitploit
Инструменты/GitHubGitHub/kabiri-labs/cve-2024-40094
Анализ уязвимостейЭксплуатацияТестирование безопасности APIВеб-безопасностьТестирование на Проникновение
GitHubkabiri-labs/cve-2024-40094

CVE-2024-40094

Этот скрипт эксплуатирует уязвимость CVE-2024-40094 в graphql-java

Репозиторий
3171 год назадЕщё не проверено

Популярное

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

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

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

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

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

CVE-2024-40094 ENF (ExecutableNormalizedFields) Эксплойт отказа в обслуживании

Этот скрипт эксплуатирует уязвимость CVE-2024-40094 в graphql-java, вызывая отказ в обслуживании на основе ExecutableNormalizedFields (ENF). Он формирует специально подготовленный GraphQL introspection-запрос с глубоко вложенными алиасами, предназначенный для перегрузки уязвимого сервера.

Обзор

Скрипт использует асинхронные запросы для отправки серии крупных introspection-запросов на целевой GraphQL-сервер. Запросы отправляются в виде JSON-нагрузок и структурированы таким образом, чтобы эксплуатировать конкретную уязвимость в том, как GraphQL-серверы обрабатывают глубоко вложенные introspection-запросы. Запуская большое количество таких запросов параллельно, скрипт направлен на создание условия отказа в обслуживании на уязвимых системах.

Ключевые возможности:

  • Асинхронное выполнение: использует asyncio и aiohttp для эффективных неблокирующих запросов.
  • Параллельные запросы: запускает несколько задач (корутин) для имитации одновременных запросов.
  • Настраиваемые параметры: несколько опций конфигурации для управления количеством запросов, задержкой и максимальным числом запросов на задачу.
  • Логирование: при необходимости записывает результаты запросов и ошибки в файл для анализа.

Уязвимые цели

Этот эксплойт нацелен на серверы, работающие на уязвимой версии graphql-java, в частности на те, которые некорректно обрабатывают глубоко вложенные introspection-запросы.

Затронутые системы:

  • серверы graphql-java (версии, уязвимые к CVE-2024-40094)

Установка

Для запуска эксплойта вам понадобится Python 3.7+ со следующими зависимостями:

  • aiohttp для асинхронных HTTP-запросов
  • urllib3 для обработки SSL (отключает предупреждения о самоподписанных сертификатах)

Установка зависимостей:

Вы можете установить необходимые зависимости с помощью pip:

pip install aiohttp urllib3

Конфигурация

Все ключевые параметры можно задать во время выполнения через опции командной строки:

  • URL (--url): URL целевого GraphQL API.
  • HEADERS (--header): настройте токен Authorization и другие заголовки по необходимости. Запросы отправляют JSON-тела, поэтому включите Content-Type: application/json. Опция может повторяться.
  • JOB_COUNT (--job-count): количество параллельных задач (корутин) для запуска. По умолчанию — 50.
  • CONCURRENCY_LIMIT (--concurrency-limit): максимальное количество одновременных запросов во всех задачах. Должно быть ≥ JOB_COUNT. По умолчанию равно количеству задач; увеличивайте с осторожностью.
  • ALIAS_COUNT (--alias-count): количество блоков алиасов в запросе. Это управляет глубиной и нагрузкой запроса.
  • REQUEST_DELAY (--delay): задержка между запросами в секундах. Установите 0 для отсутствия задержки или отрегулируйте по необходимости, чтобы не перегружать цель слишком быстро.
  • MAX_REQUESTS_PER_JOB (--max-requests): максимальное количество запросов, которое отправит каждая задача. Используйте 0 для неограниченного количества запросов.
  • LOG_FILE: необязательный. Укажите путь к файлу для записи результатов запросов и ошибок.

Использование

Клонируйте репозиторий на свой локальный компьютер:

git clone https://github.com/kabiri-labs/CVE-2024-40094.git
cd CVE-2024-40094

Запустите скрипт, указав желаемые опции в командной строке:

python CVE-2024-40094.py \
  --url https://api.example.com/graphql \
  --header "Authorization: Bearer <token>" \
  --header "Host: api.example.com" \
  --job-count 50 \
  --alias-count 500 \
  --concurrency-limit 50

Скрипт начнет отправлять запросы на целевой сервер. Вы увидите статус каждого запроса в консоли, а логи будут записаны в указанный файл журнала.

Пример вывода:

[Worker-0] Status: 200, Len: 1000, Time: 0.35s, Snippet: {"data":{"__schema":{"types":[...]}...
[Worker-1] Status: 200, Len: 1050, Time: 0.37s, Snippet: {"data":{"__schema":{"types":[...]}...

Предупреждения

Не используйте на несанкционированных целях: этот скрипт предназначен для исследований в области безопасности и тестирования в контролируемых средах. Не используйте его на production-серверах или системах без явного разрешения.

Риск отказа в обслуживании: запуск этого скрипта против уязвимого сервера может привести к его зависанию или сбою. Используйте с осторожностью.

Лицензия

Этот скрипт распространяется под лицензией MIT. Подробнее см. в файле LICENSE.

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