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
CVE-2024-40094 — Este script explota la vulnerabilidad CVE-2024-40094 en graphql-java | Kitploit
Herramientas/GitHubGitHub/kabiri-labs/cve-2024-40094
Análisis de VulnerabilidadesExplotaciónPruebas de Seguridad de APIsSeguridad WebPruebas de Penetración
GitHubkabiri-labs/cve-2024-40094

CVE-2024-40094

Este script explota la vulnerabilidad CVE-2024-40094 en graphql-java

Ver Repositorio
3hace 11 mesesAún no revisado

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

CVE-2024-40094 ENF (ExecutableNormalizedFields) Exploit de Denegación de Servicio

Este script explota la vulnerabilidad CVE-2024-40094 en graphql-java desencadenando una denegación de servicio basada en ExecutableNormalizedFields (ENF). Construye una consulta de introspección GraphQL manipulada con alias profundamente anidados, diseñada para abrumar al servidor vulnerable.

Resumen

El script utiliza solicitudes asíncronas para enviar una serie de consultas de introspección grandes a un servidor GraphQL objetivo. Las consultas se envían como cargas útiles JSON y están estructuradas para explotar una vulnerabilidad específica en cómo los servidores GraphQL manejan consultas de introspección profundamente anidadas. Al activar un gran número de dichas consultas en paralelo, el script busca causar una condición de denegación de servicio en sistemas vulnerables.

Características principales:

  • Ejecución asíncrona: Utiliza asyncio y aiohttp para solicitudes eficientes y no bloqueantes.
  • Solicitudes paralelas: Lanza múltiples trabajos (corrutinas) para simular solicitudes simultáneas.
  • Parámetros personalizables: Varias opciones de configuración para controlar el número de solicitudes, el retardo y el máximo de solicitudes por trabajo.
  • Registro: Opcionalmente registra los resultados de las solicitudes y errores en un archivo para su análisis.

Objetivos vulnerables

Este exploit apunta a servidores que ejecutan una versión vulnerable de graphql-java, específicamente aquellos que no manejan adecuadamente las consultas de introspección profundamente anidadas.

Sistemas afectados:

  • Servidores graphql-java (versiones vulnerables a CVE-2024-40094)

Instalación

Para ejecutar el exploit, necesitas Python 3.7+ con las siguientes dependencias:

  • aiohttp para solicitudes HTTP asíncronas
  • urllib3 para manejo de SSL (desactiva advertencias de certificados autofirmados)

Instalación de dependencias:

Puedes instalar las dependencias requeridas usando pip:

root@kitploit:~
pip install aiohttp urllib3

Configuración

Todos los parámetros clave se pueden proporcionar en tiempo de ejecución mediante opciones de línea de comandos:

  • URL (--url): La URL del API GraphQL objetivo.
  • HEADERS (--header): Personaliza el token de Autorización y otros encabezados según sea necesario. Las solicitudes envían cuerpos JSON, así que incluye Content-Type: application/json. La opción se puede repetir.
  • JOB_COUNT (--job-count): El número de trabajos concurrentes (corrutinas) a crear. El valor predeterminado es 50.
  • CONCURRENCY_LIMIT (--concurrency-limit): Número máximo de solicitudes simultáneas en todos los trabajos. Debe ser ≥ JOB_COUNT. Por defecto es igual al número de trabajos; aumenta con precaución.
  • ALIAS_COUNT (--alias-count): El número de bloques de alias en la consulta. Esto controla la profundidad y la carga de la consulta.
  • REQUEST_DELAY (--delay): El retardo entre solicitudes en segundos. Establece a 0 para sin retardo o ajústalo según sea necesario para evitar abrumar al objetivo demasiado rápido.
  • MAX_REQUESTS_PER_JOB (--max-requests): El número máximo de solicitudes que cada trabajo enviará. Usa para solicitudes ilimitadas.

Uso

Clona el repositorio en tu máquina local:

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

Ejecuta el script, proporcionando las opciones deseadas en la línea de comandos:

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

El script comenzará a enviar solicitudes al servidor objetivo. Verás el estado de cada solicitud impreso en la consola, y los registros se escribirán en el archivo de registro especificado.

Ejemplo de salida:

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":[...]}...

Advertencias

No usar en objetivos no autorizados: Este script está destinado a la investigación de seguridad y pruebas en entornos controlados. No lo uses en servidores de producción o sistemas sin autorización explícita.

Riesgo de denegación de servicio: Ejecutar este script contra un servidor vulnerable puede hacer que se vuelva no responsivo o se bloquee. Úsalo con precaución.

Licencia

Este script está licenciado bajo la Licencia MIT. Consulta el archivo LICENSE para más detalles.

Descargar herramienta
0
  • LOG_FILE: Opcional. Especifica una ruta de archivo para registrar los resultados de las solicitudes y errores.