Web API Pentesting
Last updated
Last updated
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Verwenden Sie Trickest, um einfach Workflows zu erstellen und zu automatisieren, die von den fortschrittlichsten Community-Tools der Welt unterstützt werden. Zugang heute erhalten:
Pentesting von APIs erfordert einen strukturierten Ansatz zur Aufdeckung von Schwachstellen. Dieser Leitfaden fasst eine umfassende Methodik zusammen, die praktische Techniken und Werkzeuge betont.
SOAP/XML Web Services: Nutzen Sie das WSDL-Format für die Dokumentation, das typischerweise unter ?wsdl
-Pfaden zu finden ist. Werkzeuge wie SOAPUI und WSDLer (Burp Suite Extension) sind entscheidend für das Parsen und Generieren von Anfragen. Beispielhafte Dokumentation ist unter DNE Online zugänglich.
REST APIs (JSON): Die Dokumentation liegt oft in WADL-Dateien vor, jedoch bieten Werkzeuge wie Swagger UI eine benutzerfreundlichere Schnittstelle für die Interaktion. Postman ist ein wertvolles Werkzeug zum Erstellen und Verwalten von Beispielanfragen.
GraphQL: Eine Abfragesprache für APIs, die eine vollständige und verständliche Beschreibung der Daten in Ihrer API bietet.
VAmPI: Eine absichtlich verwundbare API für praktische Übungen, die die OWASP Top 10 API-Schwachstellen abdeckt.
SOAP/XML Schwachstellen: Untersuchen Sie XXE-Schwachstellen, obwohl DTD-Deklarationen oft eingeschränkt sind. CDATA-Tags können die Payload-Einfügung ermöglichen, wenn das XML gültig bleibt.
Privilegieneskalation: Testen Sie Endpunkte mit unterschiedlichen Berechtigungsstufen, um unbefugte Zugriffs Möglichkeiten zu identifizieren.
CORS Fehlkonfigurationen: Untersuchen Sie CORS-Einstellungen auf potenzielle Ausnutzbarkeit durch CSRF-Angriffe aus authentifizierten Sitzungen.
Endpunktentdeckung: Nutzen Sie API-Muster, um versteckte Endpunkte zu entdecken. Werkzeuge wie Fuzzer können diesen Prozess automatisieren.
Parameter-Manipulation: Experimentieren Sie mit dem Hinzufügen oder Ersetzen von Parametern in Anfragen, um auf unbefugte Daten oder Funktionen zuzugreifen.
HTTP-Methode-Test: Variieren Sie die Anfragemethoden (GET, POST, PUT, DELETE, PATCH), um unerwartete Verhaltensweisen oder Informationsoffenlegungen aufzudecken.
Content-Type-Manipulation: Wechseln Sie zwischen verschiedenen Inhaltstypen (x-www-form-urlencoded, application/xml, application/json), um auf Parsing-Probleme oder Schwachstellen zu testen.
Erweiterte Parametertechniken: Testen Sie mit unerwarteten Datentypen in JSON-Payloads oder experimentieren Sie mit XML-Daten für XXE-Injektionen. Versuchen Sie auch Parameter-Verschmutzung und Wildcard-Zeichen für umfassendere Tests.
Versionstest: Ältere API-Versionen könnten anfälliger für Angriffe sein. Überprüfen Sie immer mehrere API-Versionen und testen Sie gegen diese.
kiterunner: Hervorragend geeignet zur Entdeckung von API-Endpunkten. Verwenden Sie es, um Pfade und Parameter gegen Ziel-APIs zu scannen und zu brute-forcen.
https://github.com/BishopFox/sj: sj ist ein Befehlszeilenwerkzeug, das entwickelt wurde, um bei der Überprüfung von exponierten Swagger/OpenAPI-Definitionsdateien zu helfen, indem die zugehörigen API-Endpunkte auf schwache Authentifizierung überprüft werden. Es bietet auch Befehlsvorlagen für manuelle Schwachstellentests.
Zusätzliche Werkzeuge wie automatic-api-attack-tool, Astra und restler-fuzzer bieten maßgeschneiderte Funktionen für API-Sicherheitstests, die von Angriffssimulationen bis hin zu Fuzzing und Schwachstellenscans reichen.
Cherrybomb: Es ist ein API-Sicherheitswerkzeug, das Ihre API basierend auf einer OAS-Datei überprüft (das Werkzeug ist in Rust geschrieben).
OWASP API Security Top 10: Essentielle Lektüre zum Verständnis häufiger API-Schwachstellen (OWASP Top 10).
API-Sicherheits-Checkliste: Eine umfassende Checkliste zur Sicherung von APIs (GitHub-Link).
Logger++ Filter: Zur Suche nach API-Schwachstellen bietet Logger++ nützliche Filter (GitHub-Link).
API-Endpunktliste: Eine kuratierte Liste potenzieller API-Endpunkte für Testzwecke (GitHub-Gist).
Verwenden Sie Trickest, um einfach Workflows zu erstellen und zu automatisieren, die von den fortschrittlichsten Community-Tools der Welt unterstützt werden. Zugang heute erhalten:
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)