hacktricks/network-services-pentesting/pentesting-web/web-api-pentesting.md

7.9 KiB

Web API Pentesting

{% hint style="success" %} Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

Nutze Trickest, um einfach Workflows zu erstellen und zu automatisieren, die von den fortschrittlichsten Community-Tools der Welt unterstützt werden.
Erhalte heute Zugang:

{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=web-api-pentesting" %}

API Pentesting Methodology Summary

Pentesting von APIs erfordert einen strukturierten Ansatz zur Aufdeckung von Schwachstellen. Dieser Leitfaden fasst eine umfassende Methodik zusammen, die praktische Techniken und Werkzeuge betont.

Verstehen von API-Typen

  • SOAP/XML Web Services: Nutzen das WSDL-Format für die Dokumentation, typischerweise zu finden unter ?wsdl-Pfaden. 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): Dokumentation kommt oft in WADL-Dateien, 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 deiner API bietet.

Übungslabore

  • VAmPI: Eine absichtlich verwundbare API für praktische Übungen, die die OWASP Top 10 API-Schwachstellen abdeckt.

Effektive Tricks für API Pentesting

  • SOAP/XML Schwachstellen: Erkunde 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: Teste Endpunkte mit unterschiedlichen Berechtigungsstufen, um unbefugte Zugriffs Möglichkeiten zu identifizieren.
  • CORS Fehlkonfigurationen: Untersuche CORS-Einstellungen auf mögliche Ausnutzbarkeit durch CSRF-Angriffe aus authentifizierten Sitzungen.
  • Endpunktentdeckung: Nutze API-Muster, um versteckte Endpunkte zu entdecken. Werkzeuge wie Fuzzer können diesen Prozess automatisieren.
  • Parameter-Manipulation: Experimentiere mit dem Hinzufügen oder Ersetzen von Parametern in Anfragen, um auf unbefugte Daten oder Funktionen zuzugreifen.
  • HTTP-Methode-Test: Variiere die Anfrage-Methoden (GET, POST, PUT, DELETE, PATCH), um unerwartete Verhaltensweisen oder Informationsoffenlegungen aufzudecken.
  • Content-Type-Manipulation: Wechsle zwischen verschiedenen Inhaltstypen (x-www-form-urlencoded, application/xml, application/json), um auf Parsing-Probleme oder Schwachstellen zu testen.
  • Erweiterte Parameter-Techniken: Teste mit unerwarteten Datentypen in JSON-Payloads oder experimentiere mit XML-Daten für XXE-Injektionen. Probiere auch Parameter-Verschmutzung und Wildcard-Zeichen für umfassendere Tests aus.
  • Versionsprüfung: Ältere API-Versionen könnten anfälliger für Angriffe sein. Überprüfe immer mehrere API-Versionen und teste gegen diese.

Werkzeuge und Ressourcen für API Pentesting

  • kiterunner: Hervorragend geeignet zur Entdeckung von API-Endpunkten. Nutze es, um Pfade und Parameter gegen Ziel-APIs zu scannen und zu brute-forcen.
kr scan https://domain.com/api/ -w routes-large.kite -x 20
kr scan https://domain.com/api/ -A=apiroutes-220828 -x 20
kr brute https://domain.com/api/ -A=raft-large-words -x 20 -d=0
kr brute https://domain.com/api/ -w /tmp/lang-english.txt -x 20 -d=0
  • Zusätzliche Tools wie automatic-api-attack-tool, Astra und restler-fuzzer bieten maßgeschneiderte Funktionen für die API-Sicherheitstests, die von Angriffssimulation bis hin zu Fuzzing und Schwachstellenscanning reichen.
  • Cherrybomb: Es ist ein API-Sicherheitstool, das Ihre API basierend auf einer OAS-Datei prüft (das Tool ist in Rust geschrieben).

Lern- und Übungsressourcen

  • OWASP API Security Top 10: Essentielle Lektüre zum Verständnis gängiger 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 zu Testzwecken (GitHub-Gist).

Referenzen

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:

{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=web-api-pentesting" %}

{% hint style="success" %} Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Unterstützen Sie HackTricks
{% endhint %}