Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitLabGitLab/omar2535/graphqler
Analyse des VulnérabilitésTests de Sécurité des APISécurité WebFuzzing
GitLabomar2535/graphqler

GraphQLer

☸Le tout premier outil de test d'API GraphQL tenant compte des dépendances !

Voir le dépôtSite web
il y a 2 ansPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Le seul outil de test d'API GraphQL conscient des dépendances !

python3.12 Maintainability lint tests_status security

GraphQLer est un outil de pointe conçu pour tester dynamiquement les API GraphQL avec un accent sur l'adaptabilité. Il offre une gamme de fonctionnalités sophistiquées qui rationalisent le processus de test et garantissent une analyse robuste des API GraphQL. GraphQLer gère avec compétence les objets et ressources créés, identifie efficacement les dépendances entre objets, requêtes et mutations, et corrige dynamiquement les erreurs dans les requêtes en fonction des restrictions de l'API. GraphQLer a été utilisé pour trouver de nombreux bogues dans des API GraphQL de niveau production !

Démo vidéo

Fonctionnalités clés

  • Conscience des dépendances : Exécutez des requêtes et des mutations en fonction de leurs dépendances !
  • Tests dynamiques : Gardez une trace des ressources créées pendant les tests
  • Correction d'erreurs : Essayez de corriger les requêtes pour que l'API GraphQL les accepte
  • Collecte de statistiques : Affiche vos résultats dans un fichier pratique
  • Facilité d'utilisation : Tout ce dont vous avez besoin est l'endpoint et peut-être le jeton d'authentification 😁

Pour commencer

Pour commencer à utiliser GraphQLer, consultez le guide d'installation.

Utilisation

root@kitploit:~
❯ 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

Voici les étapes pour utiliser ce programme afin de tester votre API GraphQL. L'utilisation est divisée en deux phases : la compilation et le fuzzing.

  • Mode compilation : Ce mode est responsable de l'exécution d'une requête d'introspection sur l'API donnée et de la génération du graphe de dépendances.
  • Mode fuzzing : Ce mode est responsable du parcours du graphe de dépendances et de l'envoi de requêtes de test à l'API.

Un troisième mode est également inclus pour plus de simplicité, appelé mode exécution. Ce mode combine les modes compilation et fuzzing en une seule commande.

Mode compilation

root@kitploit:~
(.env) python main.py --compile --url <URL> --path <SAVE_PATH>

Après la compilation, vous pouvez visualiser les résultats compilés dans <SAVE_PATH>/compiled. De plus, un graphe nommé dependency_graph.png sera généré pour inspection. Tous les INCONNUS dans les fichiers .yaml compilés peuvent être marqués manuellement ; toutefois, s'ils ne sont pas marqués, le fuzzer les exécutera quand même, mais sans utiliser de chaîne de dépendances.

Mode fuzzing

root@kitploit:~
(.env) python main.py --fuzz --url <URL> --path <SAVE_PATH>

Pendant le fuzzing, les statistiques relatives à l'API GraphQL et les compteurs de requêtes en cours sont affichés dans la console. Tous les codes de retour des requêtes sont écrits dans <SAVE_PATH>/stats.txt. Tous les logs du fuzzing sont conservés dans <SAVE_PATH>/logs/fuzzer.log. Le fichier de log vous indiquera exactement quelles requêtes sont envoyées à quels endpoints et quelle a été la réponse. Cela peut être utilisé pour une analyse plus approfondie des résultats.

Mode exécution

Exécute à la fois le mode Compilation et le mode Fuzzing.

root@kitploit:~
(.env) python main.py --run --url <URL> --path <SAVE_PATH>

Fonctionnalités avancées

Il existe également des variables qui peuvent être modifiées dans le fichier constants.py. Elles correspondent à des fonctionnalités spécifiques implémentées dans GraphQLer et peuvent être ajustées selon vos préférences.

Télécharger l’outil
Nom de la variableDescription de la variableType de variableValeur par défaut
MAX_LEVENSHTEIN_THRESHOLDDistance de Levenshtein entre les objets et les identifiants d'objetsEntier20
MAX_OBJECT_CYCLESNombre maximal de fois que le même objet doit être matérialisé dans la même requête/mutationEntier3
MAX_OUTUPT_SELECTOR_DEPTHProfondeur maximale à laquelle la sortie de la requête/mutation doit être développée (par exemple, dans le cas de sélecteurs récursifs infinis)Entier3
USE_OBJECTS_BUCKETIndique s'il faut stocker les identifiants d'objets pour une utilisation futureBooléenTrue
USE_DEPENDENCY_GRAPHIndique s'il faut utiliser la fonctionnalité de conscience des dépendancesBooléenTrue
MAX_FUZZING_ITERATIONSNombre maximal de charges utiles de fuzzing à exécuter sur un nœudEntier5
MAX_TIMEDurée maximale d'exécutionEntier3600