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
graphw00f — Herramienta de fingerprinting del motor del servidor GraphQL que envía consultas benignas y malformadas para identificar la tecnología del backend y evaluar las defensas de seguridad a través de la GraphQL Threat Matrix. | Kitploit
Herramientas/GitHubGitHub/dolevf/graphw00f
ReconocimientoPruebas de Seguridad de APIsRecopilación de InformaciónSeguridad Web
GitHubdolevf/graphw00f

graphw00f

Herramienta de fingerprinting del motor del servidor GraphQL que envía consultas benignas y malformadas para identificar la tecnología del backend y evaluar las defensas de seguridad a través de la GraphQL Threat Matrix.

Ver Repositorio
88498hace 3 mesesRevisado por Kitploit

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

graphw00f

Créditos a Nick Aleks por el logo!

graphw00f - Fingerprinting de servidores GraphQL

Tabla de Contenidos

  • ¿Cómo funciona?
  • Detecciones
  • Matriz de Amenazas GraphQL
  • Requisitos previos
  • Instalación
  • Configuración
  • Ejemplo de uso
    • Fingerprinting de GraphQL
    • Detección y Fingerprinting de GraphQL
  • Soporte e Incidencias
  • Recursos

¿Cómo funciona?

graphw00f (inspirado en wafw00f) es la herramienta de fingerprinting GraphQL para endpoints GQL; envía una mezcla de consultas benignas y malformadas para determinar el motor GraphQL que se ejecuta detrás de escena. graphw00f hará uso del proyecto GraphQL Threat Matrix para proporcionar información sobre qué defensas de seguridad ofrece cada tecnología de forma nativa, y si están activadas o desactivadas por defecto.

Consultas especialmente diseñadas provocan que diferentes implementaciones de servidores GraphQL respondan de manera única a consultas, mutaciones y suscripciones, lo que hace trivial identificar el motor backend y distinguir entre las distintas implementaciones GraphQL. (CWE: CWE-200)

graphw00f soporta la detección y el fingerprinting de servidores GraphQL que utilizan consultas basadas en GET o POST.

Detecciones

Actualmente graphw00f intenta descubrir los siguientes motores GraphQL:

  • Graphene - Python
  • Ariadne - Python
  • Apollo - TypeScript
  • graphql-go - Go
  • gqlgen - Go
  • WPGraphQL - PHP
  • GraphQL API for Wordpress - PHP
  • Gato GraphQL - PHP
  • graphql-ruby - Ruby
  • graphql-php - PHP
  • Hasura - Haskell
  • HyperGraphQL - Java
  • graphql-java - Java
  • Juniper - Rust
  • Sangria - Scala
  • Flutter - Dart
  • Diana.jl - Julia
  • Strawberry - Python
  • Tartiflette - Python
  • Dgraph - JavaScript
  • Directus - TypeScript
  • AWS AppSync - (sin cambio)
  • GraphQL Yoga - TypeScript
  • Lighthouse - PHP
  • Agoo - Ruby
  • Mercurius - JavaScript
  • morpheus-graphql - Haskell
  • Lacinia - Clojure
  • Caliban - Scala
  • jaal - Golang
  • absinthe-graphql - Elixir
  • GraphQL.NET - Microsoft .NET
  • pg_graphql - Rust
  • tailcall - Rust
  • Hot Chocolate - Microsoft .NET
  • Inigo - Go
  • ballerina-graphql - Ballerina

Matriz de Amenazas GraphQL

El proyecto graphw00f utiliza el Proyecto GraphQL Threat Matrix como su base de datos de matriz de seguridad tecnológica. Cuando graphw00f identifica exitosamente un endpoint GraphQL, imprimirá el documento de la matriz de amenazas. Este documento ayuda a los ingenieros de seguridad a identificar cuán madura es la tecnología, qué características de seguridad ofrece y si contiene algún CVE.

GraphQL Threat Matrix

Requisitos previos

  • python3
  • requests

Instalación

Clonar el repositorio

git clone https://github.com/dolevf/graphw00f.git

Ejecutar graphw00f

root@kitploit:~
Usage: main.py -d -f -t http://example.com

Options:
  -h, --help            show this help message and exit
  -r, --noredirect      Do not follow redirections given by 3xx responses
  -t URL, --target=URL  target url with the path
  -f, --fingerprint     fingerprint mode
  -d, --detect          detect mode
  -p PROXY, --proxy=PROXY
                        HTTP(S) proxy URL in the form
                        http://user:pass@host:port
  -T TIMEOUT, --timeout=TIMEOUT
                        Request timeout in seconds
  -o OUTPUT_FILE, --output-file=OUTPUT_FILE
                        Output results to a file (CSV)
  -l, --list            List all GraphQL technologies graphw00f is able to
                        detect
  -u USERAGENT, --user-agent=USERAGENT
                        Custom user-agent to use (overrides the one from
                        headers configuration)
  -H HEADER, --header=HEADER
                        Custom headers to send (e.g. "Authorization: Bearer
                        ey...").
  -w WORDLIST, --wordlist=WORDLIST
                        Path to a list of custom GraphQL endpoints
  -v, --version         Print out the current version and exit.

Configuración

No hay muchas configuraciones necesarias para graphw00f. Pero, si necesitas cosas como cabeceras de Autorización o Cookies configuradas para un endpoint en particular, usa el archivo conf.py.

root@kitploit:~
# Custom Headers
HEADERS = {'User-Agent':'graphw00f'}

# Custom Cookies
COOKIES = {"PHPSESS":"DEADBEEF"}

El uso de --user-agent añade la clave User-Agent independientemente de si el archivo conf.py la tiene; si el archivo ya tiene una, el parámetro de línea de comandos la sobrescribe.

Ejemplo

Fingerprinting de GraphQL

Este es un ejemplo de cómo hacer fingerprinting (-f) de un endpoint donde se conoce la ubicación de GraphQL de antemano (/graphql)

root@kitploit:~
python3 main.py -f -t https://demo.hypergraphql.org:8484/graphql

                +-------------------+
                |     graphw00f     |
                +-------------------+
                  ***            ***
                **                  ***
              **                       **
    +--------------+              +--------------+
    |    Node X    |              |    Node Y    |
    +--------------+              +--------------+
                  ***            ***
                     **        **
                       **    **
                    +------------+
                    |   Node Z   |
                    +------------+

                graphw00f - v1.0.7
          The fingerprinting tool for GraphQL
           Dolev Farhi <[email protected]>

[*] Checking if GraphQL is available at https://demo.hypergraphql.org:8484/graphql...
[*] Found GraphQL...
[*] Attempting to fingerprint...
[*] Discovered GraphQL Engine: (HyperGraphQL)
[!] Attack Surface Matrix: https://github.com/dolevf/graphw00f/blob/main/docs/hypergraphql.md
[!] Technologies: Java
[!] Homepage: https://www.hypergraphql.org
[*] Completed.

Detección y Fingerprinting de GraphQL

Este es un ejemplo de cómo graphw00f puede detectar (-d) dónde reside GraphQL y luego ejecutar el proceso de fingerprinting (-f).

root@kitploit:~
python3 main.py -f -d -t http://localhost:5000

                +-------------------+
                |     graphw00f     |
                +-------------------+
                  ***            ***
                **                  ***
              **                       **
    +--------------+              +--------------+
    |    Node X    |              |    Node Y    |
    +--------------+              +--------------+
                  ***            ***
                     **        **
                       **    **
                    +------------+
                    |   Node Z   |
                    +------------+

                graphw00f - v1.1.2
          The fingerprinting tool for GraphQL
           Dolev Farhi <[email protected]>

[*] Checking http://dvga.example.local:5000/graphql
[!] Found GraphQL at http://dvga.example.local:5000/graphql
[*] Attempting to fingerprint...
[*] Discovered GraphQL Engine: (Graphene)
[!] Attack Surface Matrix: https://github.com/nicholasaleks/graphql-threat-matrix/blob/master/implementations/graphene.md
[!] Technologies: Python
[!] Homepage: https://graphene-python.org
[*] Completed.

Soporte e Incidencias

Cualquier incidencia con graphw00f, como falsos positivos, detecciones incorrectas, errores, etc., por favor crea un issue en GitHub con los detalles del entorno.

Recursos

¿Quieres aprender más sobre GraphQL? Dirígete a mi otro proyecto y hackea GraphQL: Damn Vulnerable GraphQL Application

Descargar herramienta