Skip to content
KitploitKITPLOIT
HerramientasBlog
Log in
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.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
GraphQLer — ☸La primera herramienta de prueba de API GraphQL consciente de dependencias. | Kitploit
Herramientas/GitLabGitLab/omar2535/graphqler
Análisis de VulnerabilidadesPruebas de Seguridad de APIsSeguridad WebFuzzing
GitLabomar2535/graphqler

GraphQLer

☸La primera herramienta de prueba de API GraphQL consciente de dependencias.

Ver Repositorio
63hace 2 añosAún no revisado
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

¡La única herramienta de prueba de API GraphQL con conciencia de dependencias!

python3.12 Mantenibilidad lint estado_pruebas seguridad

GraphQLer es una herramienta de vanguardia diseñada para probar dinámicamente APIs GraphQL con un enfoque en la adaptabilidad. Ofrece una gama de características sofisticadas que agilizan el proceso de prueba y garantizan un análisis robusto de las APIs GraphQL. GraphQLer gestiona con habilidad los objetos y recursos creados, identifica eficazmente las dependencias en objetos, consultas y mutaciones, y corrige dinámicamente los errores dentro de las consultas basándose en las restricciones de la API. ¡GraphQLer se ha utilizado para encontrar muchos errores en APIs GraphQL de nivel de producción!

Demostración en video

Características clave

  • Conciencia de dependencias: ¡Ejecuta consultas y mutaciones basadas en sus dependencias!
  • Pruebas dinámicas: Mantén un seguimiento de los recursos creados durante las pruebas
  • Corrección de errores: Intenta y corrige las solicitudes para que la API GraphQL las acepte
  • Recopilación de estadísticas: Muestra tus resultados en un archivo ordenado
  • Facilidad de uso: Todo lo que necesitas es el endpoint y quizás el token de autenticación 😁

Primeros pasos

Para comenzar a usar GraphQLer, consulta la guía de instalación.

Uso

❯ python3 main.py --help
usage: main.py [-h] [--compile] [--fuzz] [--run] --path PATH [--auth AUTH] --url URL

options:
  -h, --help   show this help message and exit
  --compile    runs on compile mode
  --fuzz       runs on fuzzing mode
  --run        run both the compiler and fuzzer (equivalent of running --compile then running --fuzz)
  --path PATH  directory location for saved files and files to be used from
  --auth AUTH  authentication token Example: 'Bearer arandompat-abcdefgh'
  --url URL    remote host URL

A continuación se muestran los pasos sobre cómo puedes usar este programa para probar tu API GraphQL. El uso se divide en 2 fases: compilación y fuzzing.

  • Modo de compilación: Este modo se encarga de ejecutar una consulta de introspección contra la API dada y generar el gráfico de dependencias.
  • Modo de fuzzing: Este modo se encarga de recorrer el gráfico de dependencias y enviar solicitudes de prueba a la API.

También se incluye un tercer modo para facilitar su uso, llamado modo ejecución (run). Este modo combina tanto la compilación como el fuzzing en un solo comando.

Modo de compilación

(.env) python main.py --compile --url <URL> --path <RUTA_GUARDADO>

Después de compilar, puedes ver los resultados compilados en <RUTA_GUARDADO>/compiled. Además, se habrá generado un gráfico llamado dependency_graph.png para su inspección. Los DESCONOCIDOS (UNKNOWNS) en los archivos .yaml compilados se pueden marcar manualmente; sin embargo, si no se marcan, el fuzzer igual los ejecutará, pero sin usar una cadena de dependencias.

Modo de fuzzing

(.env) python main.py --fuzz --url <URL> --path <RUTA_GUARDADO>

Mientras se realiza el fuzzing, se registran en la consola las estadísticas relacionadas con la API GraphQL y cualquier conteo de solicitudes en curso. Los códigos de retorno de cualquier solicitud se escriben en <RUTA_GUARDADO>/stats.txt. Todos los registros durante el fuzzing se guardan en <RUTA_GUARDADO>/logs/fuzzer.log. El archivo de registro te indicará exactamente qué solicitudes se envían a qué endpoints y cuál fue la respuesta. Esto se puede utilizar para un análisis posterior de los resultados.

Modo de ejecución

Ejecuta tanto el modo de compilación como el de fuzzing.

(.env) python main.py --run --url <URL> --path <RUTA_GUARDADO>

Características avanzadas

También hay variables que se pueden modificar en el archivo constants.py. Estas corresponden a características específicas implementadas en GraphQLer y se pueden ajustar a tu gusto.

Nombre de la variableDescripción de la variableTipo de variableValor por defecto
MAX_LEVENSHTEIN_THRESHOLDLa distancia de Levenshtein entre objetos y IDs de objetosEntero20
MAX_OBJECT_CYCLESNúmero máximo de veces que el mismo objeto debe ser materializado en la misma consulta/mutaciónEntero3
MAX_OUTUPT_SELECTOR_DEPTHProfundidad máxima a la que se debe expandir la salida de la consulta/mutación (como en el caso de selectores recursivos infinitos)Entero3
USE_OBJECTS_BUCKETSi se deben almacenar IDs de objetos para uso futuroBooleanoTrue
USE_DEPENDENCY_GRAPHSi se debe utilizar la función de conciencia de dependenciasBooleanoTrue
MAX_FUZZING_ITERATIONSNúmero máximo de cargas de fuzzing a ejecutar en un nodoEntero5
MAX_TIMEEl tiempo máximo de ejecuciónEntero3600
Descargar herramienta