Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
batchql — Script de auditoría de seguridad de GraphQL centrado en la ejecución de consultas y mutaciones GraphQL por lotes. | Kitploit
Herramientas/GitHubGitHub/assetnote/batchql
Escáneres de VulnerabilidadesPruebas de Seguridad de APIsSeguridad WebPruebas de Penetración
GitHubassetnote/batchql

batchql

Script de auditoría de seguridad de GraphQL centrado en la ejecución de consultas y mutaciones GraphQL por lotes.

Ver Repositorio
4134226hace 5 añosRevisado por Kitploit
Sitio web

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

BatchQL

BatchQL es un script de auditoría de seguridad de GraphQL centrado en realizar consultas y mutaciones GraphQL por lotes. Este script no es complejo y agradecemos las mejoras.

Al explorar el espacio problemático de los ataques de batching en GraphQL, encontramos que hay algunas publicaciones de blog en internet, pero ninguna herramienta para realizar ataques de batching en GraphQL.

Los ataques de batching en GraphQL pueden ser bastante graves dependiendo de las funcionalidades implementadas. Por ejemplo, imagina una funcionalidad de restablecimiento de contraseña que espera un PIN de 4 dígitos enviado a tu correo electrónico. Con esta herramienta, podrías intentar los 10,000 intentos de PIN en una única consulta GraphQL. Esto podría eludir cualquier limitación de velocidad o bloqueo de cuenta, dependiendo de los detalles de implementación del flujo de restablecimiento de contraseña.

Detecciones

Esta herramienta es capaz de detectar lo siguiente:

  • Soporte de consultas de introspección
  • Detección de sugerencias de esquema
  • Detección potencial de CSRF
  • Batching basado en nombre de consulta
  • Batching basado en lista JSON de consultas

Ataques

Actualmente, esta herramienta solo admite el envío de consultas basadas en listas JSON para ataques de batching. Soporta escenarios donde las variables están incrustadas en la consulta o donde se proporcionan en la entrada JSON.

Uso

Enumeración

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.

Ataques de Batching

  1. Guarda un archivo que contenga tu consulta GraphQL, por ejemplo 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. Ejecuta el siguiente comando para realizar un ataque de batching 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

El comando anterior hace lo siguiente:

  • Especifica una consulta desde un archivo local --query acc-login.txt.
  • Especifica una lista de palabras --wordlist passwords.txt
  • Especifica la entrada de variables con el identificador de reemplazo -v {"loginInput":{"email":"[email protected]","password":"#VARIABLE#","rememberMe":false}}
  • Especifica el tamaño del lote --size 100
  • Especifica el endpoint -e http://re.local:5000/graphiql
  • Especifica un proxy -p localhost:8080

Referencias

  • Explotando GraphQL
  • Damn Vulnerable GraphQL Application
  • Ataque de Batching GraphQL - Wallarm
  • Mitigación de Ataques de Batching
Descargar herramienta