Sicheres Programmieren in der Praxis
Entdecken Sie Richtlinien für sicheres Programmieren, um Schwachstellen wie die OWASP Top 10 zu verstehen und zu beheben, und tauchen Sie in geführte Trainingsmissionen ein, um diese in realistischen Anwendungssimulationen zu üben.
Alle Missionen durchsuchen
Inhaltsverzeichnis

SQL-Injection
Ein Nutzer hat uns gemeldet, dass er eine SQL-Injection-Schwachstelle in der Transaktionssuche unseres Online-Bankings ausnutzen konnte. Er gab an, Transaktionen anderer Nutzer einsehen zu können, und wies darauf hin, dass ein Angreifer über diese Lücke die Datenbank manipulieren könnte – etwa durch das Löschen von Tabellen, das Auslesen fremder Daten oder das Einfügen eigener Datensätze. Versuchen Sie in dieser Mission, das Vorgehen des Nutzers zu reproduzieren.

Spring MvcRequestMatchers
Im März 2023 veröffentlichte Spring einen Fix für eine intern entdeckte Schwachstelle namens CVE-2023-20860. Dabei konnte die Verwendung eines doppelten Platzhalters ** in mvcRequestMatchers zu einer Diskrepanz bei der Mustererkennung zwischen Spring Security und Spring MVC führen. Dies konnte letztlich dazu führen, dass Benutzer unbefugten Zugriff auf bestimmte Endpunkte erhielten. Wir haben eine stark vereinfachte Banking-Anwendung mit einigen Endpunkten eingerichtet. Befolgen Sie die Anweisungen und versuchen Sie, die Auswirkungen dieser Zugriffskontrollschwachstelle zu reproduzieren.

Psychic Signatures – Verwendung bekannter anfälliger Komponenten
CVE-2022-21449 hat den coolsten Namen für eine Schwachstelle: Psychic Signatures in Java. Woher kommt dieser Name? Er ist eine Anspielung auf die psychischen Papiere aus Doctor Who. Wenn man sie jemandem zeigt, erscheinen auf diesen leeren Blättern genau die Informationen, die die Person erwartet. Ähnliches geschah in der Java-Implementierung (Versionen 15 bis 18) des ECDSA-Algorithmus, was sich auf die Signaturprüfung von JWTs auswirkt. Wir können eine ungültige Signatur übermitteln, aber Java hält sie für gültig. Möchten Sie sehen, wie das funktioniert? Fangen wir an.

Apache Path Traversal – Nutzung bekannter anfälliger Komponenten
Am 4. Oktober 2021 veröffentlichte das Apache-Team die Version 2.4.49, um eine Path-Traversal- und Remote-Code-Execution-Schwachstelle in Apache 2.4.48 zu beheben, die auch als CVE-2021-41773 bekannt ist. Am 7. Oktober 2021 folgte Version 2.4.51, da der Hotfix 2.4.50 unvollständig war. Diese Schwachstelle wurde als CVE-2021-42013 erfasst. Probieren Sie diese Mission aus, um selbst zu sehen, wie diese Schwachstelle ausgenutzt werden kann.

Log4j – Verwendung bekannter anfälliger Komponenten
Die Ankündigung einer Zero-Day-Schwachstelle (CVE-2021-44228) in der weit verbreiteten Logging-Bibliothek Log4j Anfang Dezember 2021 schlug in der Java-Community wie eine Bombe ein. Der als Log4Shell bezeichnete Exploit betrifft die Log4j v2-Versionen 2.0-beta9 bis 2.14.1 und kann zur Remote Code Execution führen. Wir haben eine Umgebung eingerichtet, um den Exploit zu simulieren, damit Sie die Auswirkungen aus erster Hand erleben können. Probieren Sie es jetzt aus.

Trojan Source – Verwendung von Komponenten aus nicht vertrauenswürdigen Quellen
Einer unserer Entwickler bei der Viking Bank hat leichtfertig Code aus einer unsicheren Quelle aus dem Internet kopiert, um eine Admin-Autorisierungsprüfung für die Kreditkartenverwaltung zu erstellen. Dabei wurden möglicherweise anfällige Komponenten eingebunden. Wir haben festgestellt, dass Benutzer ihre Kreditkartenlimits ändern können, obwohl dies nur Administratoren vorbehalten sein sollte. Wir vermuten, dass mit diesem Code etwas nicht stimmt. Versuchen Sie sich an der Mission, um den Code zu untersuchen.

Codestashbin - Unsichere Funktion zum Zurücksetzen von Passwörtern
CodeStashBin ist einer der weltweit größten Anbieter für Code-Versionsverwaltung. Gerüchten zufolge weist der Prozess zum Zurücksetzen von Passwörtern eine Sicherheitslücke auf. Möglicherweise lässt sich das Passwort eines privilegierten Benutzers ändern, um Zugriff auf dessen Konto zu erhalten. Stürzen Sie sich in diese Mission und untersuchen Sie das Problem.

Cross-Site Scripting (XSS) in „ChatterGPT“
Diese Mission zeigt die vertraute Benutzeroberfläche eines bekannten LLM und verwendet einen echten Code-Schnipsel, der Ende November 2023 generiert wurde. Nutzer können diesen Code analysieren und potenzielle Sicherheitslücken untersuchen, falls er für seinen vorgesehenen Zweck eingesetzt würde.