Was du machst
Viele Websites vertrauen mehr, als sie sollten: eine Seite, auf die niemand verlinkt, ein Fehler, der zu viel verrät, ein Ordner, den jede Person lesen kann. OWASP Juice Shop ist ein Shop mit genau solchen Schwachstellen, damit du sie gefahrlos finden kannst. Du löst drei der einfachsten Challenges und siehst, wie jede auf dem Score Board grün wird.
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. Den Shop öffnest du über den Link OWASP Juice Shop 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. Sieh dir den Shop an
Klicke in der Lab-Leiste auf den Link, um den Shop in einem neuen Tab zu öffnen. Schau dich um wie ein Kunde: Suche nach apple und öffne ein Produkt. Alles, was du tust, schickt eine Anfrage an ein Programm. Ein Programm kann Dinge gefragt werden, die es nicht beantworten sollte.
2. Stelle dem Shop eine Frage ohne die Seite
Das Suchfeld fragt den Shop nach Produkten. curl kann dieselbe Frage ohne Browser stellen, und die Antwort ist einfaches JSON. Sieh dir an, was zurückkommt: Es ist viel mehr, als die Seite zeigt.
curl -s -w "\n" "http://juice-shop:3000/rest/products/search?q=apple"Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
3. Challenge: Finde das Score Board
Das Score Board ist eine echte Seite, aber nichts verlinkt darauf. Sie zu finden ist die erste Challenge. Ändere im Shop-Tab das Ende der Adresse zu /#/score-board und drücke die Eingabetaste. Die Seite listet alle Challenges nach Schwierigkeit. Score Board steht ganz oben und ist jetzt grün.
4. Challenge: Lies eine Datei, die du nicht lesen solltest
Webserver zeigen manchmal einen Ordner an, der nie öffentlich sein sollte. Dieser Befehl fragt nach einem Dokument im Ordner /ftp des Shops. Es ist als vertraulich markiert, und trotzdem kann es jede Person lesen, die danach fragt. Auf dem Score Board wird Confidential Document grün.
curl -s http://juice-shop:3000/ftp/acquisitions.mdHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
5. Challenge: Bringe den Shop dazu, einen Fehler zu zeigen
Diese Suche lautet '(, ein Anführungszeichen und eine Klammer, in der Adresse als %27( geschrieben. Das Anführungszeichen beendet den eigenen Text des Shops zu früh, und die Klammer macht seine Datenbankfrage kaputt. Ein sorgfältiges Programm sagt „keine Ergebnisse“. Dieses druckt den Fehler seiner Datenbank, SQLITE_ERROR, und verrät so einer angreifenden Person, womit es gebaut ist. Error Handling wird grün.
curl -s "http://juice-shop:3000/rest/products/search?q=%27("Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
6. Prüfe das Score Board
Gehe zurück zum Tab mit dem Score Board und lade es neu: Die drei Challenges sind grün. Es gibt über hundert weitere, mit Hinweisen, wenn du weitermachen willst. Der Shop vergisst seinen Stand, wenn das Lab endet. Willst du morgen weitermachen, kopiere den Continue Code, den das Score Board anbietet.
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. Das Lab ist eine ganze Webanwendung, die alle Lernenden in ihrer eigenen Kopie ohne Verbindung ins Internet angreifen. Nichts wird für dich bewertet: Bitte um einen Screenshot des Score Boards und um einen Satz dazu, warum jede Schwachstelle existiert. Kopiere es in dein eigenes Modul und ändere es, oder baue im Lektionseditor über das Menü Lab ein neues von Grund auf.