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

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

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

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

Популярное

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

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

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

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

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

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:

    root@kitploit:~
    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: необязательный. Укажите путь к файлу для записи результатов запросов и ошибок.

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

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

    root@kitploit:~
    git clone https://github.com/kabiri-labs/CVE-2024-40094.git
    cd CVE-2024-40094
    

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

    root@kitploit:~
    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
    

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

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

    root@kitploit:~
    [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.

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