Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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.9k331vor 6 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:

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

Fragen

Wenn Sie eine Anfrage/einen Vorschlag/eine Frage haben, erstellen Sie bitte ein Issue. Anweisungen finden Sie in Contributing.md.

Mitwirken

Dieses Projekt begrüßt Beiträge und Vorschläge. Die meisten Beiträge erfordern, dass Sie einer Contributor License Agreement (CLA) zustimmen, die bestätigt, dass Sie das Recht haben und tatsächlich erteilen, uns die Rechte zur Nutzung Ihres Beitrags zu gewähren. Einzelheiten finden Sie unter https://cla.microsoft.com.

Wenn Sie einen Pull-Request einreichen, wird ein CLA-Bot automatisch feststellen, ob Sie eine CLA bereitstellen müssen, und den PR entsprechend kennzeichnen (z.B. Label, Kommentar). Befolgen Sie einfach die Anweisungen des Bots. Sie müssen dies nur einmal für alle Repositories tun, die unsere CLA verwenden.

Dieses Projekt hat den Microsoft Open Source Code of Conduct übernommen. Weitere Informationen finden Sie in den Code of Conduct FAQ oder wenden Sie sich bei weiteren Fragen oder Kommentaren an [email protected].

Weitere Informationen finden Sie in Contributing.md.

Marken

Dieses Projekt kann Marken oder Logos für Projekte, Produkte oder Dienste enthalten. Die autorisierte Verwendung von Microsoft-Marken oder -Logos unterliegt den Microsoft-Richtlinien für Marken und Markenauftritt und muss diesen entsprechen. Die Verwendung von Microsoft-Marken oder -Logos in modifizierten Versionen dieses Projekts darf keine Verwirrung stiften oder eine Microsoft-Sponsoring vermuten lassen. Jegliche Verwendung von Marken oder Logos Dritter unterliegt den Richtlinien dieser Dritten.

Datenerfassung

Die Software kann Informationen über Sie und Ihre Nutzung der Software sammeln und an Microsoft senden. Microsoft kann diese Informationen verwenden, um Dienste bereitzustellen und unsere Produkte und Dienstleistungen zu verbessern. Sie können die Telemetrie wie im Repository beschrieben deaktivieren. Es gibt auch einige Funktionen in der Software, die es Ihnen und Microsoft ermöglichen, Daten von Benutzern Ihrer Anwendungen zu sammeln. Wenn Sie diese Funktionen nutzen, müssen Sie geltendes Recht einhalten, einschließlich der Bereitstellung entsprechender Hinweise an die Benutzer Ihrer Anwendungen zusammen mit einer Kopie der Microsoft-Datenschutzerklärung. Unsere Datenschutzerklärung befindet sich unter https://go.microsoft.com/fwlink/?LinkID=824704. Weitere Informationen zur Datenerfassung und -nutzung finden Sie in der Hilfedokumentation und unserer Datenschutzerklärung. Ihre Nutzung der Software gilt als Ihre Zustimmung zu diesen Praktiken.

Weitere Informationen finden Sie in Telemetry.md.

Melden von Sicherheitsproblemen

Sicherheitsprobleme und Fehler sollten vertraulich per E-Mail an das Microsoft Security Response Center (MSRC) unter [email protected] gemeldet werden. Sie sollten innerhalb von 24 Stunden eine Antwort erhalten. Falls Sie aus irgendeinem Grund keine Antwort erhalten, setzen Sie sich bitte per E-Mail mit uns in Verbindung, um sicherzustellen, dass wir Ihre ursprüngliche Nachricht erhalten haben. Weitere Informationen, einschließlich des MSRC PGP-Schlüssels, finden Sie im Security TechCenter.

Weitere Einzelheiten finden Sie in Security.md.

Datenschutz & Cookies

https://go.microsoft.com/fwlink/?LinkId=521839

Tool herunterladen