Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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
restler-fuzzer — RESTler est le premier outil de fuzzing d'API REST stateful pour tester automatiquement les services cloud via leurs API REST et trouver des bugs de sécurité et de fiabilité dans ces services. | Kitploit
Outils/GitHubGitHub/microsoft/restler-fuzzer
Scanners de VulnérabilitésTests de Sécurité des APISécurité WebFuzzingSécurité Cloud
GitHubmicrosoft/restler-fuzzer

restler-fuzzer

RESTler est le premier outil de fuzzing d'API REST stateful pour tester automatiquement les services cloud via leurs API REST et trouver des bugs de sécurité et de fiabilité dans ces services.

Voir le dépôt
2.9k33117il y a 7 moisVérifié par Kitploit

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

RESTler

Qu'est-ce que RESTler ?

RESTler est le premier outil de fuzzing d'API REST stateful pour tester automatiquement les services cloud via leurs API REST et trouver des bugs de sécurité et de fiabilité dans ces services. Pour un service cloud donné avec une spécification OpenAPI (anciennement Swagger), RESTler analyse l'intégralité de sa spécification, puis génère et exécute des tests qui sollicitent le service via son API REST.

RESTler déduit intelligemment les dépendances producteur-consommateur entre les types de requêtes à partir de la définition OpenAPI. Pendant les tests, il vérifie des classes spécifiques de bugs et apprend dynamiquement comment le service se comporte à partir des réponses précédentes du service. Cette intelligence permet à RESTler d'explorer des états de service plus profonds accessibles uniquement via des séquences de requêtes spécifiques et de trouver plus de bugs.

RESTler est décrit dans ces articles de recherche évalués par des pairs :

  1. RESTler: Stateful REST API Fuzzing (ICSE'2019)
  2. Checking Security Properties of Cloud Service REST APIs (ICST'2020)
  3. Differential Regression Testing for REST APIs​ (ISSTA'2020)
  4. Intelligent REST API Data Fuzzing​​ (FSE'2020)

Si vous utilisez RESTler dans vos recherches, veuillez citer l'article ICSE'2019 (par défaut) (BibTeX).

RESTler inclut plusieurs stratégies de génération de tests. Afin d'obtenir une vue comparative complète concernant (i) l'efficacité (c'est-à-dire la rapidité avec laquelle RESTler trouve des crashs) et (ii) l'efficience (c'est-à-dire le nombre de crashs que RESTler peut trouver dans un laps de temps donné), nous recommandons de comparer tous les fuzzing_mode(s) documentés car chacun offre un compromis différent entre la largeur et la profondeur de l'exploration de l'espace d'états. Nous recommandons également d'exécuter le mode test avant tout fuzzing, comme décrit ci-dessous, pour découvrir et corriger les problèmes de configuration (par exemple, ajouter les valeurs de paramètres prérequis nécessaires au dictionnaire) avant le fuzzing.

RESTler a été créé chez Microsoft Research et est toujours en développement actif.

Pour un aperçu et une démonstration sur la façon de commencer, consultez Webinaire - Fuzzing pour améliorer la sécurité et la fiabilité des services cloud.

RESTler architecture

Build Status

Build Status

Configuration de RESTler

RESTler a été conçu pour fonctionner sur des machines 64 bits sous Windows ou Linux. Le support expérimental pour macOS est également activé.

Instructions de compilation

Docker

À la racine de ce dépôt, exécutez

docker build -t restler .

Le conteneur docker résultant aura RESTler disponible dans le répertoire /RESTler/restler avec le binaire principal Restler.

Vous pouvez ensuite utiliser cette image docker comme base pour ajouter l'application testée afin d'exécuter le fuzzing dans des conteneurs docker isolés.

Local

Prérequis : Installez Python 3.12.8 et .NET 8.0, pour votre système d'exploitation approprié.

Créez un répertoire où vous souhaitez placer les binaires RESTler :

mkdir restler_bin

Placez-vous à la racine du dépôt et exécutez le script Python suivant :

python ./build-restler.py --dest_dir <full path to restler_bin above>

Remarque : si vous obtenez l'erreur nuget NU1403 lors de la compilation, une solution rapide consiste à vider votre cache avec cette commande

dotnet nuget locals all --clear

Utilisation de RESTler

RESTler s'exécute en 4 modes principaux (dans l'ordre) :

  1. Compile : à partir d'une définition OpenAPI JSON ou YAML (et éventuellement d'exemples), générez une grammaire RESTler. Voir Compilation.
  2. Test : exécute rapidement tous les points de terminaison+méthodes d'une grammaire RESTler compilée pour déboguer la configuration de test et calculer quelles parties de la définition OpenAPI sont couvertes. Ce mode est également appelé smoketest. Voir Tests. Pour utiliser des paramètres personnalisés du moteur de test, voir Paramètres du moteur de test.
  3. Fuzz-lean : exécute une fois chaque point de terminaison+méthode dans une grammaire RESTler compilée avec un ensemble par défaut de vérificateurs pour voir si des bugs peuvent être trouvés rapidement. Voir Fuzzing.
  4. Fuzz : chasse aux bugs - explore une grammaire de fuzzing RESTler en mode de recherche intelligente en largeur (mode de recherche plus profond) pour trouver plus de bugs. Attention : Ce type de fuzzing est plus agressif et peut créer des interruptions de service dans le service testé si celui-ci est mal implémenté (par exemple, le fuzzing peut créer des fuites de ressources, une dégradation des performances, des corruptions backend, etc.). Voir Fuzzing.

Démarrage rapide

Pour une introduction rapide avec des exemples simples, consultez ce Tutoriel.

Pour essayer rapidement RESTler sur votre API, voir Démarrage rapide.

Bugs trouvés par RESTler

Il existe actuellement deux catégories de bugs trouvés par RESTler.

  • Code d'erreur : actuellement, chaque fois qu'une réponse avec le code d'état 500 ("Erreur interne du serveur") est reçue, un bug est signalé.
  • Vérificateurs : chaque vérificateur tente de déclencher des bugs spécifiques en exécutant des requêtes supplémentaires ciblées ou des séquences de requêtes à certains moments pendant le fuzzing, déterminés par le contexte. Certains vérificateurs tentent de trouver des 500 supplémentaires, tandis que d'autres vérificateurs tentent de trouver des bugs logiques spécifiques tels que des fuites de ressources ou des violations de hiérarchie. Pour une description complète des vérificateurs, voir Vérificateurs.

Lorsqu'un bug est trouvé, RESTler rapporte les bugs triés dans des buckets de bugs et fournit un journal de rejeu qui peut être utilisé pour reproduire le bug (voir Rejeu).

Sujets avancés

Pour des conseils sur l'utilisation efficace de RESTler, veuillez consulter Bonnes pratiques et Amélioration de la couverture API.

Voir aussi ces Questions fréquemment posées.

Télécharger l’outil