Sicherheits-Labs: Juice Shop, DVWA und WebGoat
Drei Beispiel-Labs vermitteln die Sicherheit von Webanwendungen, indem Lernende eine absichtlich unsichere Website angreifen: OWASP Juice Shop, DVWA und WebGoat. Jedes startet in der eigenen Kopie der lernenden Person über eine Karte auf der Seite „Container“ oder als Lab, das Sie in einem Modul stellen, und öffnet sich von der Seite des Labs aus wie jeder andere Webdienst in einem Lab.
Sie sind dazu da, dass Lernende verstehen, wie Schwachstellen funktionieren, und dann Software bauen und verteidigen, die frei davon ist. Jedes Ziel liegt in der eigenen Lab-Kopie der lernenden Person, und nichts hier lehrt, ein Werkzeug auf einen Rechner zu richten, der jemand anderem gehört. Eine Kopie hat keinen Weg ins Internet und keinen zu anderen Lernenden, sodass das Einzige, was angegriffen werden kann, die Anwendung ist, die das Lab gestartet hat.
Wofür die Labs da sind und wer was sieht
Das sind Lern-Labs für eine Klasse, oft mit Lernenden im Alter von 16 und 17 Jahren, und jedes beginnt mit der Regel: Greifen Sie Ihre eigene Kopie an, nie eine Website, die Ihnen nicht gehört. Ein System ohne Erlaubnis anzugreifen ist im Vereinigten Königreich nach dem Computer Misuse Act 1990 eine Straftat. Ein gutes erstes Gespräch dreht sich daher darum, warum es diese Regel gibt und wie verantwortungsvolle Offenlegung aussieht.
Eine Kopie ist privat für die Person, die sie gestartet hat. Mitarbeitende, die das Modul unterrichten, können sie öffnen, um zu sehen, was die Person getan hat, und das Öffnen der Arbeit von Lernenden wird im Zugriffsprotokoll festgehalten, das die Lernenden einsehen können. Nichts in diesen Labs wird automatisch bewertet: Die Lernenden geben Nachweise ab, und Sie bewerten sie, wie Sie jedes andere Lab bewerten.
Die drei sind Programme von Dritten, unverändert aus den öffentlichen Images der Projekte selbst ausgeführt und nicht von uns verbreitet: OWASP Juice Shop (MIT-Lizenz), DVWA (GPL-3.0) und WebGoat (GPL-2.0). Die Versionen sind festgelegt, sodass sich ein Lab zwischen zwei Stunden nicht unter einer Klasse verändert.
OWASP Juice Shop
Ein Onlineshop mit über hundert Herausforderungen aus den OWASP Top 10: Injection, fehlerhafte Authentifizierung, fehlerhafte Zugriffskontrolle, Cross-Site-Scripting, Fehlkonfiguration der Sicherheit und mehr. Klicken Sie auf der Seite des Labs auf „Öffnen“, um den Shop zu sehen. Es gibt ein Score Board, das jede Herausforderung nach Schwierigkeit auflistet und sie grün färbt, sobald sie gelöst ist, und es ist von nirgends verlinkt: Es zu finden ist die erste Herausforderung.
Hinweise, die die Antwort nicht verraten: Sehen Sie sich an, was der Browser sendet und empfängt, lesen Sie, was der Code der Seite selbst tut, und fragen Sie bei jeder Eingabe, was das Programm daran für vertrauenswürdig hält. Die Hinweise des Score Boards gehen weiter, und wer es zuerst selbst versucht hat, lernt mehr daraus. Der Shop vergisst seinen Zustand, wenn das Lab anhält, sodass Lernende, die morgen weitermachen, den Fortsetzungscode kopieren, den das Score Board anbietet.
Er läuft als Konto ohne Sonderrechte mit weniger als 512 MB. Eine kleine Zahl von Herausforderungen, die das Internet oder einen KI-Dienst brauchen, lässt sich in einem Lab nicht lösen, da es keinen Weg nach draußen hat.
DVWA, die Damn Vulnerable Web Application
Eine Schwachstelle nach der anderen: SQL-Injection, Blind-SQL-Injection, Command-Injection, Cross-Site-Scripting (reflektiert und gespeichert), CSRF, Datei-Upload, Datei-Inklusion, schwache Sitzungskennungen, Brute Force und mehr. Das Lab erstellt die Datenbank für die Lernenden, es ist also nichts einzurichten: Öffnen Sie es und melden Sie sich als admin mit dem Passwort password an.
Es startet auf der niedrigen Sicherheitsstufe. Die Seite „DVWA Security“ erhöht sie auf mittel, hoch und unmöglich, und dieselbe Übung auf jeder Stufe zeigt, was jede Korrektur ändert und warum die einfache Korrektur nicht genügt, was der Sinn des Labs ist. Die Schaltfläche „View Source“ zeigt den Code der geltenden Stufe. Die CAPTCHA-Übung ist nicht verfügbar, da sie einen Dienst im Internet braucht. Wird das Lab angehalten und neu gestartet, ergibt das eine frische DVWA, dasselbe wie „Create / Reset Database“ auf der Setup-Seite von DVWA.
WebGoat
Ein geführter Kurs: Jede Lektion erklärt eine Schwachstelle, etwa Injection, fehlerhafte Zugriffskontrolle, unsichere Deserialisierung, JWT-Fehler oder Path Traversal, und fordert die Lernenden dann auf, sie auszunutzen, wobei die Lektion als abgeschlossen gilt, sobald sie es tun. Es eignet sich für eine erste Einführung und für Arbeit, die zu Hause gestellt wird.
Öffnen Sie das Lab, wählen Sie „Register“ und denken Sie sich für diese Kopie einen Benutzernamen und ein Passwort aus. Das Lab hat zwei Links, WebGoat und WebWolf, und WebWolf wird in den Lektionen gebraucht, die dazu auffordern. Der Fortschritt der Lernenden bleibt erhalten, solange das Lab läuft. WebGoat ist eine Java-Anwendung und erhält 1 GB, am meisten der drei; der Start dauert einige Sekunden länger als bei den anderen.
Eines für eine Klasse stellen
Die drei befinden sich auf der Karte „Beispiel-Labs“ der Seite „Container“, wo „Starten“ eines zum Ausprobieren für Sie ausführt. Um eines als Arbeit zu stellen, kopieren Sie seine Datei in ein eigenes Lab.
- Die Datei nehmen. Klicken Sie auf der Seite „Container“ auf der Karte des Labs auf „Zuerst die Datei bearbeiten“ und kopieren Sie die Datei. Sie beginnt mit der Regel und den Anweisungen zur Abgabe in eigenen Worten.
- Das Lab erstellen. Fügen Sie in Ihrem Modul ein Container-Lab hinzu, wählen Sie „Hier geschrieben“, fügen Sie die Datei ein und veröffentlichen Sie es. Probieren Sie zuerst Ihre eigene Kopie aus.
- Zuweisen. Weisen Sie es wie jede Aufgabe zu, auf Wunsch mit Fälligkeitsdatum, und sagen Sie in der Aufgabe, welche Herausforderungen oder Lektionen zu bearbeiten sind.
- Das Abgegebene bewerten. Öffnen Sie die Kopie einer lernenden Person und die abgegebenen Nachweise, bewerten Sie sie und geben Sie sie mit einer Begründung zurück, wenn mehr nötig ist.
Was Lernende abgeben sollten
Nachweise in zwei Hälften. Erstens der Beleg der Arbeit: ein Screenshot der gelösten Herausforderungen auf dem Score Board von Juice Shop, jeder DVWA-Übung auf niedriger und noch einmal auf hoher Stufe oder jeder als abgeschlossen markierten WebGoat-Lektion, wobei die eigene Adresse des Labs im Browser sichtbar ist, damit klar ist, dass es ihre Kopie ist. Zweitens das Verständnis: Zu jedem Punkt eine schriftliche Erklärung in eigenen Worten, was die Schwachstelle ist, welche Eingabe genau verwendet wurde und warum sie funktionierte, was ein Angreifer damit tun könnte und wie der Code hätte geschrieben werden sollen. Die zweite Hälfte zeigt Ihnen, ob es verstanden oder aus einer Lösungsanleitung abgeschrieben wurde.
Für anspruchsvollere Arbeit verlangen Sie neben dem Angriff auch die Korrektur: den korrigierten Code oder die korrigierte Konfiguration für zwei der Schwachstellen, in DVWA, indem man liest, was die hohe Stufe anders macht. Eine kurze Frage beim Öffnen der Kopie, etwa die Bitte, eine Herausforderung unter Ihrer Beobachtung noch einmal zu lösen, ist eine faire Kontrolle.
Wo jedes Lab in einem Kurs passt
Die Labs decken Themen ab, die eine britische T-Level- oder BTEC-Einheit in Informatik oder Cybersicherheit behandelt; prüfen Sie die Einheit Ihrer eigenen Prüfungsorganisation auf den genauen Wortlaut, von dem hier nichts zitiert wird.
Juice Shop: die OWASP Top 10 in einer realistischen Anwendung, Bedrohungen und Schwachstellen, Injection, Authentifizierungs- und Sitzungsschwächen, Zugriffskontrolle, kryptografische Fehler und Fehlkonfiguration der Sicherheit sowie Schwachstellenanalyse als Methode. DVWA: sicheres Programmieren und Behebung, denn dieselbe Übung auf vier Stufen ist derselbe Code, erst unsicher und dann korrigiert; Eingabevalidierung, Ausgabekodierung, parametrisierte Abfragen und Dateiverarbeitung. WebGoat: eine erste Einführung in jede Klasse von Schwachstellen mit der Erklärung daneben sowie Grundlagen zu Kryptografie, Token und Deserialisierung.
Alle drei unterstützen die rechtliche und ethische Seite der Einheit: Autorisierung und Umfang, den Computer Misuse Act 1990, verantwortungsvolle Offenlegung und warum man nur ein System testet, das man testen darf.
Häufige Fragen
- Können Lernende diese Labs nutzen, um eine echte Website anzugreifen?
- Nein. Eine Lab-Kopie hat keinen Weg ins Internet und keinen zur Kopie anderer Lernender, sodass das einzige Ziel die Anwendung ist, die das Lab gestartet hat. Die Einführung am Anfang jedes Labs nennt die Regel ebenfalls: Greifen Sie Ihre eigene Kopie an und nie eine Website, die Ihnen nicht gehört.
- Bewerten sich die Labs selbst?
- Nein. Das Score Board von Juice Shop und die Lektionshäkchen von WebGoat zeigen den Lernenden ihren eigenen Fortschritt, aber nichts wird an Sie gesendet. Die Lernenden geben Screenshots und eine schriftliche Erklärung ab, und Sie bewerten sie.
- Warum verwenden die Labs nicht die neueste Version?
- Jedes ist auf eine Version festgelegt, die wir gestartet und geprüft haben, sodass dieselbe Lektion für alle Lernenden und für Sie gleich funktioniert. Die Versionen ändern sich absichtlich und nicht durch Überraschung.
- Welche Labs brauchen am meisten Arbeitsspeicher?
- WebGoat, das 1 GB erhält. DVWA und seine Datenbank erhalten zusammen 896 MB und Juice Shop 512 MB. Jedes passt in die 2 GB, die jede Lab-Kopie nutzen darf.