Serverseitige Funktionen können zu Angriffswegen werden, wenn sie benutzergesteuerte URLs abrufen, XML-Entitäten auflösen oder JWT-Feldern ohne zuverlässige Prüfung vertrauen. Dieser Kurs untersucht SSRF, XXE und JWT-Manipulation mit Terminalübungen an absichtlich verwundbaren Diensten.
Du gehst von der Erkennung des jeweiligen Verhaltens zu dessen Auswirkung über: interne Dienste erreichen, lokale Dateien lesen, Token-Claims verändern und einen Signaturschlüssel ermitteln. Die Abschluss-Challenge verbindet XXE-Dateioffenlegung mit der Erstellung eines gültigen HS256-Admin-Tokens für eine geschützte API.
Was du lernen wirst
- Einen URL-abrufenden Parameter erkennen und bestätigen, dass der Server die ausgehende Anfrage stellt.
- Einen wörtlichen Localhost-Filter mit einer alternativen IP-Schreibweise umgehen und einen internen Admin-Dienst erreichen.
- Einen simulierten Cloud-Metadatendienst über SSRF abfragen und vorbereitete Zugangsdaten prüfen.
- XML-Verarbeitung und Entitätserweiterung bestätigen und eine externe Entität zum Lesen von
/etc/passwderstellen. - Ein JWT extrahieren, seine drei Teile trennen und Base64Url-Header und -Claims dekodieren.
- Ein unsigniertes Admin-Token gegen eine Labor-API fälschen, die fälschlich den Algorithmus
noneakzeptiert. - XXE-Offenlegung eines Anwendungsgeheimnisses mit Python-basierter HS256-Signatur verbinden, um ein geschütztes Flag abzurufen.
Für wen dieser Kurs geeignet ist
Dieser Kurs auf mittlerem Niveau richtet sich an Websicherheitslernende, die grundlegende Anfragen konstruieren können und Vertrauensgrenzen serverseitiger Komponenten untersuchen möchten. Er eignet sich für angehende Penetrationstester, API-Sicherheitslernende und Entwickler, die Beispiele für unsicheren URL-Abruf, XML-Parser-Konfiguration und JWT-Prüfung suchen.
Voraussetzungen: Sicherer Umgang mit Linux-Terminal und curl, HTTP-Methoden und -Headern, grundlegender XML- und JSON-Syntax, Shell-Textverarbeitung und Base64 sowie die Fähigkeit, ein kurzes Python-Skript zu lesen.
Lernumgebung: Ein Ubuntu-22.04-Terminal mit lokalen verwundbaren Anwendungen auf Port 5000 und 8080, einem simulierten Metadatendienst auf 169.254.169.254:8000 und der Python-Bibliothek jwt. Beim ersten SSRF-Test ruft die lokale Anwendung example.com ab; spätere Ziele sind vorbereitete Labordienste.
Häufig gestellte Fragen
Sind die Cloud-Metadaten-Zugangsdaten echt?
Nein. Der Metadaten-Endpunkt und seine IAM-artige Antwort sind Simulationen im Labor auf Port 8000. Sie zeigen Anfrageweg und mögliche Folgen ohne ein echtes Cloud-Konto.
Verwendet das XXE-Lab Burp Suite oder einen grafischen Proxy?
Nein. Du erstellst und bearbeitest eine XML-Payload-Datei im Terminal und sendest sie mit curl. So lernst du Anfragestruktur und Parser-Verhalten ohne grafisches Werkzeug.
Ist das Dekodieren eines JWT dasselbe wie das Brechen seiner Verschlüsselung?
Nein. JWT-Header und -Payload sind Base64Url-kodiert und normalerweise lesbar; in diesen Labs sind sie nicht verschlüsselt. Die Sicherheit beruht auf korrekter Signaturprüfung und dem Schutz des Signaturgeheimnisses.
Wie unterscheiden sich die beiden JWT-Angriffe?
Das geführte Lab nutzt einen Server aus, der fälschlich alg: none akzeptiert; das Token bleibt unsigniert. In der Challenge verlangt der Server korrekt HS256: Zuerst legst du das Geheimnis per XXE offen und erzeugst dann ein wirklich signiertes Admin-Token.





