Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
restler-fuzzer — RESTler ist das erste zustandsbehaftete REST-API-Fuzzing-Tool zum automatischen Testen von Cloud-Diensten über ihre REST-APIs und zum Auffinden von Sicherheits- und Zuverlässigkeitsfehlern in diesen Diensten. | Kitploit
Tools/GitHubGitHub/microsoft/restler-fuzzer
SchwachstellenscannerAPI-SicherheitstestsWebsicherheitFuzzingCloud-Sicherheit
GitHubmicrosoft/restler-fuzzer

restler-fuzzer

RESTler ist das erste zustandsbehaftete REST-API-Fuzzing-Tool zum automatischen Testen von Cloud-Diensten über ihre REST-APIs und zum Auffinden von Sicherheits- und Zuverlässigkeitsfehlern in diesen Diensten.

Repository anzeigen
2.9k33117vor 7 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

RESTler

Was ist RESTler?

RESTler ist das erste stateful REST-API-Fuzzing-Tool zum automatischen Testen von Cloud-Diensten über deren REST-APIs und zum Auffinden von Sicherheits- und Zuverlässigkeitsfehlern in diesen Diensten. Für einen gegebenen Cloud-Dienst mit einer OpenAPI-Spezifikation (ehemals Swagger) analysiert RESTler dessen gesamte Spezifikation und generiert und führt dann Tests aus, die den Dienst über seine REST-API testen.

RESTler leitet intelligent Producer-Consumer-Abhängigkeiten zwischen Anfragetypen aus der OpenAPI-Definition ab. Während des Testens prüft es auf spezifische Fehlerklassen und lernt dynamisch aus früheren Dienstantworten, wie sich der Dienst verhält. Diese Intelligenz ermöglicht es RESTler, tiefere Dienstzustände zu erkunden, die nur durch bestimmte Anfragesequenzen erreichbar sind, und mehr Fehler zu finden.

RESTler wird in diesen begutachteten Forschungspapieren beschrieben:

  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)

Wenn Sie RESTler in Ihrer Forschung verwenden, zitieren Sie bitte das (Standard-)ICSE'2019-Papier (BibTeX).

RESTler enthält mehrere Testgenerierungsstrategien. Um eine umfassende vergleichende Sichtweise hinsichtlich (i) Effizienz (d.h., wie schnell kann RESTler Abstürze finden) und (ii) Effektivität (d.h., wie viele Abstürze kann RESTler in einem bestimmten Zeitrahmen finden) zu erhalten, empfehlen wir, gegen alle dokumentierten fuzzing_mode(s) zu vergleichen, da jeder einen anderen Kompromiss zwischen Breite und Tiefe der Zustandsraumexploration bietet. Wir empfehlen auch, den test-Modus vor jedem Fuzzing auszuführen, wie unten beschrieben, um Einrichtungsprobleme zu entdecken und zu beheben (z.B. Hinzufügen erforderlicher Voraussetzungsparameterwerte zum Wörterbuch) vor dem Fuzzing.

RESTler wurde bei Microsoft Research entwickelt und wird noch aktiv weiterentwickelt.

Für einen Überblick und eine Demo zum Einstieg siehe Webinar - Fuzzing zur Verbesserung der Sicherheit und Zuverlässigkeit von Cloud-Diensten.

RESTler Architektur

Build-Status

Build Status

Einrichten von RESTler

RESTler wurde für den Betrieb auf 64-Bit-Maschinen mit Windows oder Linux entwickelt. Experimentelle Unterstützung für macOS ist ebenfalls aktiviert.

Build-Anweisungen

Docker

Führen Sie im Stammverzeichnis dieses Repos Folgendes aus:

docker build -t restler .

Der resultierende Docker-Container wird RESTler im Verzeichnis /RESTler/restler mit der Hauptbinärdatei Restler enthalten.

Sie können dieses Docker-Image dann als Basis verwenden, um die zu testende Anwendung hinzuzufügen und Fuzzing in isolierten Docker-Containern auszuführen.

Lokal

Voraussetzungen: Installieren Sie Python 3.12.8 und .NET 8.0 für Ihr entsprechendes Betriebssystem.

Erstellen Sie ein Verzeichnis, in dem Sie die RESTler-Binärdateien ablegen möchten:

mkdir restler_bin

Wechseln Sie in das Stammverzeichnis des Repos und führen Sie das folgende Python-Skript aus:

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

Hinweis: Wenn Sie beim Erstellen den Nuget-Fehler NU1403 erhalten, besteht eine schnelle Problemumgehung darin, Ihren Cache mit diesem Befehl zu leeren:

dotnet nuget locals all --clear

Verwendung von RESTler

RESTler läuft in 4 Hauptmodi (in der Reihenfolge):

  1. Compile: Erzeugen Sie aus einer OpenAPI-JSON- oder YAML-Definition (und optional Beispielen) eine RESTler-Grammatik. Siehe Compiling.
  2. Test: Führen Sie schnell alle Endpunkte+Methoden in einer kompilierten RESTler-Grammatik aus, um das Test-Setup zu debuggen und zu berechnen, welche Teile der OpenAPI-Definition abgedeckt werden. Dieser Modus wird auch als Smoketest bezeichnet. Siehe Testing. Informationen zur Verwendung benutzerdefinierter Test-Engine-Einstellungen finden Sie unter Test Engine Settings.
  3. Fuzz-lean: Führen Sie jeden Endpunkt+Methoden in einer kompilierten RESTler-Grammatik einmal mit einem Standardsatz von Checkern aus, um zu sehen, ob Fehler schnell gefunden werden können. Siehe Fuzzing.
  4. Fuzz: Fehlerjagd – Erkunden Sie eine RESTler-Fuzzing-Grammatik im intelligenten Breitensuche-Modus (tieferer Suchmodus), um mehr Fehler zu finden. Warnung: Diese Art von Fuzzing ist aggressiver und kann zu Ausfällen im getesteten Dienst führen, wenn der Dienst schlecht implementiert ist (z.B. kann Fuzzing Ressourcenlecks, Leistungsverschlechterung, Backend-Korruptionen usw. verursachen). Siehe Fuzzing.

Schnellstart

Für eine kurze Einführung mit einfachen Beispielen siehe dieses Tutorial.

Um RESTler schnell auf Ihrer API auszuprobieren, siehe Schnellstart.

Von RESTler gefundene Fehler

Es gibt derzeit zwei Kategorien von Fehlern, die von RESTler gefunden werden.

  • Fehlercode: Derzeit wird jedes Mal ein Fehler gemeldet, wenn eine Antwort mit dem Statuscode 500 („Interner Serverfehler“) empfangen wird.
  • Checkers: Jeder Checker versucht, spezifische Fehler auszulösen, indem er gezielte zusätzliche Anfragen oder Sequenzen von Anfragen zu bestimmten Zeitpunkten während des Fuzzings ausführt, die durch den Kontext bestimmt werden. Einige Checker versuchen, zusätzliche 500er zu finden, während andere Checker versuchen, spezifische Logikfehler wie Ressourcenlecks oder Hierarchieverletzungen zu finden. Eine vollständige Beschreibung der Checker finden Sie unter Checkers.

Wenn ein Fehler gefunden wird, meldet RESTler die in Bug-Buckets triagierten Fehler und stellt ein Wiederholungsprotokoll zur Verfügung, das zur Reproduktion des Fehlers verwendet werden kann (siehe Replay).

Erweiterte Themen

Tipps zur effektiven Nutzung von RESTler finden Sie unter Best Practices und Verbesserung der API-Abdeckung.

Siehe auch diese Häufig gestellten Fragen.

Wenn Sie daran interessiert sind, RESTler in großem Umfang als Teil Ihrer CI/CD-Pipeline zu verwenden, werfen Sie einen Blick auf den REST API Fuzz Testing self-hosted service.

Tool herunterladen