
InQL est une extension robuste et open-source pour Burp Suite, dédiée aux tests GraphQL avancés, offrant une détection intuitive des vulnérabilités, des scans personnalisables et une intégration transparente avec Burp.
Bienvenue dans InQL, un outil de test GraphQL open-source. Cet outil offre des fonctionnalités conçues pour améliorer votre expérience de test GraphQL, la rendant plus efficace et plus performante. Nous apprécions votre confiance en InQL. Bon test !
L'interface utilisateur d'InQL est équipée de trois composants principaux : l'Analyseur, les Requêtes par lots et l'onglet Identification du moteur.

L'Analyseur est le cœur d'InQL, où vous pouvez analyser un point de terminaison GraphQL ou un fichier de schéma d'introspection local. Il génère automatiquement toutes les requêtes, mutations et souscriptions possibles, les organisant dans une vue structurée pour votre analyse.
✅ Analyses personnalisables
InQL offre la flexibilité de personnaliser vos analyses. Ajustez la profondeur des requêtes générées ou le nombre d'espaces utilisés pour l'indentation. Vous pouvez également effectuer des analyses 'Points d'intérêt' pour détecter des vulnérabilités potentielles dans le schéma GraphQL.
✅ Analyse des points d'intérêt
Après avoir exécuté une analyse des points d'intérêt, un ensemble de données riche couvrant diverses vulnérabilités potentielles vous est présenté. Vous pouvez activer ou désactiver ces catégories selon vos besoins.
✅ Détection des références circulaires
InQL implémente la détection des références circulaires. Après avoir analysé le schéma, il affiche les requêtes potentiellement vulnérables dans la vue des résultats de l'analyseur.
✅ Interactions améliorées avec Burp
InQL s'intègre de manière transparente avec Burp, vous permettant de générer des requêtes directement à partir de n'importe quelle requête GraphQL dans Burp. Vous pouvez également envoyer des requêtes générées automatiquement vers d'autres outils Burp pour une analyse plus approfondie.
✅ En-têtes personnalisés
Vous avez la possibilité de définir des en-têtes personnalisés par domaine, la liste des domaines étant automatiquement renseignée à partir du trafic observé.
L'onglet Requêtes par lots vous permet d'exécuter des attaques GraphQL par lots, ce qui peut être utile pour contourner des limites de débit mal implémentées.
Les éditeurs de messages natifs de Burp sont désormais dotés d'un onglet supplémentaire 'GraphQL (InQL)', offrant un moyen efficace de visualiser et de modifier les requêtes GraphQL. Il prend également en charge la coloration syntaxique du schéma pour une meilleure lisibilité.
InQL implémente désormais les serveurs GraphiQL et GraphQL Voyager. Vous pouvez y envoyer le schéma analysé pour pousser l'analyse encore plus loin !
Cet onglet vous permet d'analyser une URL GraphQL pour récupérer des informations sur la technologie du serveur backend.
Cet analyseur est conçu pour recréer le schéma lorsque l'introspection est désactivée. Il est basé sur l'outil CLI Clairvoyance, utilisant la correspondance de motifs regex pour découvrir les détails du schéma.
Pour installer InQL avec succès, assurez-vous de remplir les conditions suivantes :
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
$ # Optionnellement, basculez sur la branche dev (peut être cassée / instable !)
$ git checkout dev
$ task all
Cela devrait produire un fichier nommé InQL.jar ou similaire à la racine du dépôt. Chargez-le dans Burp en tant qu'extension Java.
Environnement de développement
Si vous souhaitez contribuer au projet, aucun environnement spécial n'est nécessaire. Vous pouvez simplement reconstruire le projet chaque fois que vous implémentez une modification.
Pour accélérer le travail sur le code, vous pouvez reconstruire automatiquement l'extension à chaque modification. Il suffit d'exécuter la tâche kotlin avec le flag --watch / -w et le tour est joué :
$ task kotlin -w
InQL prospère grâce aux contributions de la communauté. Que vous soyez développeur, chercheur, designer ou chasseur de bugs, votre expertise nous est précieuse. Nous accueillons les rapports de bugs, les retours et les pull requests. Votre participation nous aide à continuer d'améliorer InQL, en faisant un outil plus solide pour la communauté.
Les interactions se font de préférence via le suivi des problèmes Github, mais vous pouvez aussi nous joindre sur les réseaux sociaux (@Doyensec). Nous avons hâte de vous entendre !
Un grand merci à nos contributeurs. Votre dévouement et votre engagement ont été essentiels pour faire d'InQL ce qu'il est aujourd'hui.
Actuels:
Historique :
Ce projet a été réalisé avec le soutien de Doyensec.