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

8.2 KiB

Web-API-Pentesting

Lernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Verwenden Sie Trickest, um mühelos Workflows zu erstellen und zu automatisieren, die von den weltweit fortschrittlichsten Community-Tools unterstützt werden.
Erhalten Sie noch heute Zugriff:

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

Zusammenfassung der API-Pentesting-Methodik

Das Pentesting von APIs erfordert einen strukturierten Ansatz zur Aufdeckung von Schwachstellen. Dieser Leitfaden umfasst eine umfassende Methodik, die praktische Techniken und Tools hervorhebt.

Verständnis der API-Typen

  • SOAP/XML-Webdienste: Verwenden Sie das WSDL-Format für die Dokumentation, das normalerweise unter ?wsdl-Pfaden zu finden ist. Tools wie SOAPUI und WSDLer (Burp Suite-Erweiterung) sind hilfreich zum Parsen und Generieren von Anfragen. Beispiel-Dokumentation ist unter DNE Online abrufbar.
  • REST-APIs (JSON): Die Dokumentation erfolgt häufig in WADL-Dateien, aber Tools wie Swagger UI bieten eine benutzerfreundlichere Oberfläche für die Interaktion. Postman ist ein wertvolles Tool 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.

Praktische Übungslabore

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

Effektive Tricks für das API-Pentesting

  • SOAP/XML-Schwachstellen: Erforschen Sie XXE-Schwachstellen, obwohl DTD-Deklarationen häufig eingeschränkt sind. CDATA-Tags können die Einfügung von Payloads ermöglichen, wenn das XML gültig bleibt.
  • Privilege Escalation: Testen Sie Endpunkte mit unterschiedlichen Berechtigungsebenen, um unbefugte Zugriffsmöglichkeiten zu identifizieren.
  • CORS-Fehlkonfigurationen: Untersuchen Sie CORS-Einstellungen auf mögliche Ausnutzbarkeit durch CSRF-Angriffe aus authentifizierten Sitzungen.
  • Endpunkterkennung: Nutzen Sie API-Muster, um versteckte Endpunkte zu entdecken. Tools wie Fuzzer können diesen Prozess automatisieren.
  • Parametermanipulation: Experimentieren Sie mit dem Hinzufügen oder Ersetzen von Parametern in Anfragen, um auf nicht autorisierte Daten oder Funktionen zuzugreifen.
  • HTTP-Methodentests: Variieren Sie die Anfragemethoden (GET, POST, PUT, DELETE, PATCH), um unerwartete Verhaltensweisen oder Informationslecks 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 Parameter-Techniken: Testen Sie mit unerwarteten Datentypen in JSON-Payloads oder spielen Sie mit XML-Daten für XXE-Injektionen. Versuchen Sie auch Parameter-Pollution und Platzhalterzeichen für umfassendere Tests.
  • Versionsprüfung: Ältere API-Versionen sind möglicherweise anfälliger für Angriffe. Überprüfen Sie immer und testen Sie gegen mehrere API-Versionen.

Tools und Ressourcen für das API-Pentesting

  • kiterunner: Hervorragend zur Entdeckung von API-Endpunkten. Verwenden Sie es, um Pfade und Parameter gegen Ziel-APIs zu scannen und Brute-Force-Angriffe durchzuführen.
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 Sicherheitstests von APIs, von Angriffssimulation über Fuzzing bis hin zur Schwachstellenanalyse.
  • Cherrybomb: Es handelt sich um ein API-Sicherheitstool, das Ihre API anhand einer OAS-Datei überprüft (das Tool ist in Rust geschrieben).

Lern- und Übungsressourcen

  • OWASP API Security Top 10: Wesentliche Lektüre zur Verständnis von häufigen API-Schwachstellen (OWASP Top 10).
  • API Security Checklist: Eine umfassende Checkliste zur Absicherung von APIs (GitHub-Link).
  • Logger++ Filter: Für die Suche nach API-Schwachstellen bietet Logger++ nützliche Filter (GitHub-Link).
  • API-Endpunkte-Liste: Eine kuratierte Liste potenzieller API-Endpunkte für Testzwecke (GitHub-Gist).

Referenzen

Verwenden Sie Trickest, um mühelos Workflows zu erstellen und zu automatisieren, die von den weltweit fortschrittlichsten Community-Tools unterstützt werden.
Heute Zugriff erhalten:

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

Erlernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen: