
InQL es una extensión robusta y de código abierto de Burp Suite para pruebas avanzadas de GraphQL, que ofrece detección intuitiva de vulnerabilidades, escaneos personalizables e integración perfecta con Burp.
Bienvenido a InQL, una herramienta de pruebas GraphQL de código abierto. Esta herramienta ofrece características diseñadas para mejorar tu experiencia de pruebas con GraphQL, haciéndola más eficiente y efectiva.
Agradecemos tu confianza en InQL. ¡Felices pruebas!
La interfaz de usuario de InQL cuenta con tres componentes principales: la pestaña Escáner, Consultas por Lotes y Huella del Motor.

El Escáner es el núcleo de InQL, donde puedes analizar un endpoint GraphQL o un archivo de esquema de introspección local. Genera automáticamente todas las consultas, mutaciones y suscripciones posibles, organizándolas en una vista estructurada para tu análisis.
✅ Escaneos Personalizables
InQL ofrece la flexibilidad de personalizar tus escaneos. Ajusta la profundidad de las consultas generadas o la cantidad de espacios para la sangría. También puedes realizar escaneos de 'Puntos de Interés' para detectar posibles vulnerabilidades en el esquema GraphQL.
✅ Análisis de Puntos de Interés
Después de ejecutar un escaneo de Puntos de Interés, se te presenta un conjunto de datos enriquecido que cubre una variedad de vulnerabilidades potenciales. Puedes habilitar o deshabilitar estas categorías según tus necesidades.
✅ Detección de Referencias Circulares
InQL implementa la detección de referencias circulares. Después de analizar el esquema, muestra las consultas potencialmente vulnerables en la vista de resultados del escáner.
✅ Interacciones Mejoradas con Burp
InQL se integra perfectamente con Burp, permitiéndote generar consultas directamente desde cualquier solicitud GraphQL en Burp. También puedes enviar consultas generadas automáticamente a otras herramientas de Burp para un análisis más profundo.
✅ Encabezados Personalizados
Tienes la capacidad de establecer encabezados personalizados por dominio, con la lista de dominios autocompletada a partir del tráfico observado.
La pestaña Consultas por Lotes te permite ejecutar ataques GraphQL por lotes, lo que puede ser útil para eludir límites de velocidad mal implementados.
Los editores de mensajes nativos de Burp ahora incluyen una pestaña adicional 'GraphQL (InQL)', que proporciona una forma eficiente de ver y modificar solicitudes GraphQL. También admite resaltado de esquemas para una mejor legibilidad.
InQL ahora implementa servidores GraphiQL y GraphQL Voyager. Puedes enviar el esquema analizado a ellos para mejorar aún más el análisis.
Esta pestaña te permite escanear una URL GraphQL para obtener información sobre la tecnología del servidor backend.
Este escáner está diseñado para recrear el esquema cuando la introspección está deshabilitada. Se basa en Clairvoyance CLI tool, utilizando la coincidencia de patrones de expresiones regulares para descubrir detalles del esquema.
Para instalar InQL con éxito, asegúrate de cumplir con los siguientes requisitos:
Burp:
Java:
$ sudo apt install -y openjdk-17-jdk
$ java --version
openjdk 17.0.6 2023-01-17
$ # Mac OS & Homebrew:
$ brew install go-task
$ # Debian
$ sudo apt install -y task
$ git clone https://github.com/doyensec/inql
$ cd inql
$ # Opcionalmente, cambia a la rama dev (podría estar rota / inestable)
$ git checkout dev
$ task all
Esto debería producir un archivo llamado InQL.jar o similar en la raíz del repositorio. Cárgalo en Burp como una extensión Java.
Entorno de desarrollo
Si deseas contribuir al proyecto, no se necesita un entorno especial. Puedes simplemente recompilar el proyecto cada vez que implementes un cambio.
Para acelerar el trabajo en el código, es posible que desees recompilar automáticamente la extensión cada vez que realices un cambio. Simplemente ejecuta la tarea kotlin con la opción --watch / -w y estará listo:
$ task kotlin -w
InQL prospera gracias a las contribuciones de la comunidad. Ya seas desarrollador, investigador, diseñador o cazador de bugs, tu experiencia es invaluable para nosotros. Agradecemos los informes de errores, comentarios y solicitudes de extracción. Tu participación nos ayuda a seguir mejorando InQL, haciendo de él una herramienta más sólida para la comunidad.
Las interacciones se realizan mejor a través del rastreador de incidencias de Github, pero también puedes contactarnos en redes sociales (@Doyensec). ¡Esperamos tener noticias tuyas!
Un agradecimiento especial a nuestros contribuyentes. Su dedicación y compromiso han sido fundamentales para hacer de InQL lo que es hoy.
Actuales:
Históricos:
Este proyecto fue realizado con el apoyo de Doyensec.