Was du machst
Ein Secret (Geheimnis) ist ein Passwort, ein Schlüssel oder ein Token, das privat bleiben muss. Entwickelnde lassen sie oft am falschen Ort liegen: im Code, im Browser oder auf einer Überwachungsseite, die sie verrät. WrongSecrets ist eine Anwendung, die all das absichtlich tut, damit du lernst, es zu erkennen. Du prüfst, ob sie läuft, siehst dir an, was sie jeder Person verrät, die fragt, und liest ein Skript, das sie an alle Besuchenden schickt.
Die eine Regel
Warnung
Dieses Lab startet eine Website, die absichtlich unsicher ist. Greife sie an und nichts anderes. Es ist deine eigene, private Kopie ohne Verbindung ins Internet, deshalb kann niemand sonst betroffen sein. Probiere das nie an einer Website aus, die dir nicht gehört: Im Vereinigten Königreich ist das nach dem Computer Misuse Act 1990 eine Straftat.
Bevor du anfängst
Notiz
Klicke oben in der Leiste dieser Lektion auf Lab starten und warte, bis dort steht, dass es läuft. Die Anwendung öffnest du über den Link OWASP WrongSecrets in der Leiste. Jede Schaltfläche Ausführen unten tippt ihren Befehl ins Terminal deines Labs, einen nach dem anderen in derselben Sitzung. Wenn du zuschauen oder eigene Befehle tippen willst, klicke in der Leiste auf Terminal öffnen (neuer Tab).
1. Prüfe, ob die Anwendung läuft
Dieser Befehl fragt die Anwendung, wie gesund sie ist. Sie antwortet {"groups":["liveness","readiness"],"status":"UP"}. Das heißt: Sie ist bereit.
curl -s -w "\n" http://wrongsecrets:8080/actuator/healthHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
2. Spiele Challenge 0
Klicke in der Lab-Leiste auf den Link OWASP WrongSecrets und wähle im Menü Challenges den Eintrag Challenge 0. Dort wird das Spiel erklärt, und die Seite zeigt ihre eigene Antwort: Kopiere sie ins Feld und klicke auf Submit. Die Seite sagt dann Your answer is correct! Probiere zuerst eine ausgedachte Antwort: Dann sagt sie Your answer is incorrect, try harder ;-).
3. Sieh, was sie jeder Person anbietet
Anwendungen haben oft Seiten für die Menschen, die sie betreiben. Jede Person, die die Anwendung erreichen kann, kann sie nach einer Liste davon fragen. Hier werden drei genannt: auditevents, health und info (sort -u sortiert sie und wirft die Wiederholung weg, denn die Liste nennt health zweimal). Frage dich: Welche der drei sollte eine fremde Person nicht lesen können? Challenge 42 handelt von einer davon.
curl -s http://wrongsecrets:8080/actuator | grep -o 'actuator/[a-z]*' | sort -uHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
4. Lies das Skript, das alle Besuchenden bekommen
Manche Anwendungen verstecken ein Secret in einem Skript, das der Browser ausführt. Diese schickt allen Besuchenden ein Skript namens index.js. Seine ersten Zeichen sind absichtlich durcheinandergebracht, deshalb ist es schwer zu lesen. Dein Browser muss aber das ganze Skript herunterladen, um es auszuführen, und curl auch. Ein Secret, das der Browser braucht, kennen alle. Challenge 16 verlangt, dass du das Secret darin findest.
curl -s http://wrongsecrets:8080/js/index.js | head -n 1 | cut -c 1-120Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
5. Mach weiter
Probiere Challenge 16 und Challenge 42 im Browser aus und nutze die Hinweise unter jeder Challenge, wenn du nicht weiterkommst. Viele Challenges lassen sich in einem Lab nicht lösen, weil sie etwas verlangen, das eine Lab-Kopie nicht hat (sie hat keine Verbindung ins Internet): Überspringe sie und nimm eine andere. Schreibe zu jedem Secret, das du findest, auf, wo es lag und wo es stattdessen hätte aufbewahrt werden sollen.
Für Lehrkräfte
Tipp
Diese Lektion ist ein kleines Beispiel für eine Lektion, die in einem Lab abläuft: Die Schritte und die Schaltflächen „Ausführen“ sind die Lektion, und das Lab ist die eigene Kopie jeder lernenden Person. WrongSecrets hat Dutzende Challenges zu Code, Containern, Konfiguration und Logs, deshalb trägt dasselbe Lab eine ganze Unterrichtseinheit. Nichts wird für dich bewertet: Bitte um einen Screenshot jeder gelösten Challenge und um einen Satz dazu, wo das Secret hätte aufbewahrt werden sollen. Kopiere es in dein eigenes Modul und ändere es, oder baue im Lektionseditor über das Menü Lab ein neues von Grund auf.