Was du machst
Du führst auf DVWA im Level „low“ Cross-Site-Scripting (XSS) aus und liest den Code, der das möglich macht. Danach siehst du, dass derselbe Versuch im Level „impossible“ nichts bewirkt. Eine Website, die deine Eingabe ungeschützt in ihre Seite einbaut, lässt dich eigenes HTML einfügen, und damit auch ein eigenes Programm.
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 Website öffnest du über den Link DVWA 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 Website läuft
200 heißt: Die Anmeldeseite hat von deinem Terminal aus geantwortet.
curl -s -o /dev/null -w "%{http_code}\n" http://dvwa/login.phpHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
2. Melde dich an und öffne die Übung
Klicke in der Lab-Leiste auf den Link DVWA und melde dich als admin mit dem Passwort password an. Prüfe unter DVWA Security, ob das Level low ist. Wähle dann im Menü XSS (Reflected). Die Seite fragt nach deinem Namen und begrüßt dich.
3. Füge eigenes HTML ein
Gib <b>hi</b> als Namen ein und klicke auf Submit. Die Seite schreibt nicht „Hello <b>hi</b>“ mit sichtbaren Tags. Sie schreibt Hello und dann ein fettes hi. Die Website hat deine Tags als Teil ihrer Seite gezeichnet.
Gib jetzt <script>alert(1)</script> ein. Der Browser führt es aus: Ein Fenster zeigt 1. Eine angreifende Person würde etwas Schlimmeres in einen Link packen und ihn jemandem schicken.
4. Lies den Code und sieh dir die Lösung an
Klicke auf View Source. Im Level „low“ setzt der Code deinen Text direkt in die Seite. Stelle jetzt unter DVWA Security das Level impossible ein, gehe zurück zu XSS (Reflected) und gib noch einmal <b>hi</b> ein: Die Seite zeigt die Tags als normalen Text, <b>hi</b>, und nichts wird ausgeführt. View Source zeigt den Grund: Der Code macht deinen Text zuerst mit htmlspecialchars sicher. Es verwandelt < in <. Der Browser zeichnet das als < auf den Bildschirm, liest es aber nie als Anfang eines Tags.
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. Es ist dasselbe Lab wie bei DVWA-Grundlagen. Dieselbe Übung im Level „low“ und im Level „impossible“ ist derselbe Code, erst unsicher und dann repariert. Deshalb eignet sich DVWA gut für Einheiten zur sicheren Programmierung. Kopiere es in dein eigenes Modul und ändere es, oder baue im Lektionseditor über das Menü Lab ein neues von Grund auf.