1. API Recon
Was sind API's¶
- Eine API (Application Programming Interface) stellt Funktionen („Methoden“) bereit, die du über definierte URLs (sogenannte Endpoints) aufrufst.
- Diese Methoden arbeiten nach dem Client–Server-Prinzip:
- Du schickst eine Request (mit URL, HTTP-Methode, Parametern).
- Der Server liefert eine Response zurück (meist in JSON oder XML).
Beispiel:
- GET /api/books → Liste aller Bücher
- GET /api/books/42 → Detaildaten zu Buch mit ID 42
- POST /api/books → Neues Buch anlegen (mit Daten im Request Body)
- DELETE /api/books/42 → Buch mit ID 42 löschen
API - Recon¶
Bedeutet, Infos über die API zu sammeln, um ihre Angriffsfläche zu verstehen
- Endpoints finden -> zB
/api/books,/api/books/mystery- Jeder Endpoint steht für einen bestimmten Zugriff auf Ressourcen
- Interaktionen verstehen -> Welche Requests sind möglich?
- Welche Parameter (Pflicht & Optional) verarbeitet die API?
- Welche HTTP-Methoden (GET, POST, PUT, DELETE) und Formate (JSON, XML) werden unterstützt
- Gibt es Rate Limits oder Authentifizierungen (API-Keys, Tokens, OAuth)
API Dokumentation API's sind meisens ausführlich dokumentiert wie diese zu nutzen sind für Developer, API Keys sind meist öffentlich - der beste Anfang für ein API Recon ist sich mit der Dokumentation auseinanderzusetzen
API-Dokumentation entdecken - Auch wenn keine offene Doku vorhanden ist, kannst du sie über die Anwendung finden, die die API nutzt. - Tools/Methoden: - Mit Burp Scanner die Anwendung crawlen. - Manuell mit Burp Browser nach Hinweisen suchen.
[!tip]- Crawler: Wie eine Art Bot der alle Links, Buttons und Formularaktionen einer Webseite nacheinander anklickt!
-
Typische Pfade für API-Doku:
/api/swagger/index.html/openapi.json
-
Tipp: Wenn du einen konkreten Endpoint findest (z. B.
/api/swagger/v1/users/123), prüfe auch die übergeordneten Pfade:/api/swagger/v1/api/swagger/api
-
Mit Intruder + Wortlisten kannst du nach häufigen Doku-Pfaden suchen.
Lab: Exploiting an API endpoint using documentation¶
- Erstmal schauen ob wir irgendwelche API verknüpfungen finden in userer HTTP Historie.
- Wir haben eine beim updaten der E-Mail gefunden

- Wir testen bisschen rum mit den Links im Burp-Repeater (Pfade können aber auch im Burp Scanner gescannt werden) -> unter
/apihaben wir die API Dokumentation gefunden.
- Wir nutzen diese Doku und schicken unseren eigenen Befehl über den
Update-EmailRequest mit einem angepassten Parameter