Was du machst
In den Juice-Shop-Grundlagen hast du Dinge gefunden, die ein Shop nicht hätte zeigen dürfen. Hier findest du noch eine und probierst dann die bekannteste Schwachstelle im Web aus: Cross-Site-Scripting, kurz XSS. Sie entsteht, wenn eine Website das, was du eintippst, in ihre Seite einsetzt, ohne es sicher zu machen. Dann läuft das, was du getippt hast, als Teil der Seite.
Die eine Regel
Warnung
Dieses Lab betreibt eine Website, die absichtlich unsicher ist. Greife sie an und sonst nichts. Es ist deine eigene private Kopie ohne Weg ins Internet, also kann niemand sonst betroffen sein. Probiere das nie auf einer Seite aus, die nicht dir gehört: In Großbritannien ist das eine Straftat nach dem Computer Misuse Act 1990.
Bevor du anfängst
Notiz
Drücke oben in der Leiste dieser Lektion auf Lab starten und warte, bis dort steht, dass es läuft. Der Shop öffnet sich über den Link OWASP Juice Shop in der Leiste. Jede Schaltfläche Ausführen tippt ihren Befehl in das Terminal deines Labs, einen nach dem anderen in derselben Sitzung. Wenn du zuschauen oder eigene Befehle tippen willst, drücke in der Leiste auf Terminal öffnen (neuer Tab).
1. Finde eine Seite, die nur für die Betreibenden gedacht ist
Viele Programme veröffentlichen Zahlen über sich selbst, damit ihre Betreibenden sie beobachten können. Juice Shop macht das unter /metrics und fragt nicht, wer hinschaut. 200 heißt, die Seite hat jedem geantwortet. Auf dem Score Board wird Exposed Metrics grün.
curl -s -o /dev/null -w "%{http_code}\n" http://juice-shop:3000/metricsHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
2. Probiere Cross-Site-Scripting aus
Öffne den Shop über die Lab-Leiste. Klicke oben auf die Lupe, tippe genau das Folgende in das Suchfeld und drücke die Eingabetaste. Die Zeichen um xss sind Backticks, auf einer deutschen Tastatur die Taste rechts neben ß (zusammen mit der Umschalttaste, danach die Leertaste), und keine Anführungszeichen:
<iframe src="javascript:alert(`xss`)">
Der Shop hat deinen Text nicht sicher gemacht, bevor er die Ergebnisse gezeichnet hat. Der Browser hat ihn also als Teil der Seite gelesen und ausgeführt: Ein Fenster zeigt xss. Drücke OK.
3. Prüfe das Score Board
Öffne das Score Board noch einmal (/#/score-board). DOM XSS ist jetzt grün, und Exposed Metrics daneben.
Die Lösung ist, alles, was Besuchende tippen, als Text zu behandeln und nie als Teil der Seite. Das zeigt DVWA Basics 2 von der anderen Seite.
Für Lehrkräfte
Tipp
Diese Lektion ist ein kleines Beispiel für eine Lektion, die in einem Lab bearbeitet wird: Die Schritte und die Schaltflächen „Ausführen“ sind die Lektion, und das Lab ist die eigene Kopie jeder lernenden Person. XSS ist das Beispiel, das jede Einheit zur Websicherheit verwendet, und die Lernenden sehen es in einem Lab ohne Weg nach draußen laufen, sodass niemand sonst betroffen sein kann. Bitten Sie um einen Screenshot des Score Boards und einen Satz dazu, was der Shop stattdessen hätte tun sollen. Kopieren Sie die Lektion in Ihr eigenes Modul und ändern Sie sie, oder bauen Sie mit dem Menü Lab im Lektionseditor eine ganz neue.