Lässt es sich mit cremefarbenem Papier, einer Tönung, mehr Kontrast oder größerer Schrift besser lesen? Wählen Sie Ihre Farben und Ihre Schrift, einmalig für alle Seiten.

Kostenlose Lektion

DVWA-Grundlagen 2

Die ganze Lektion steht hier zum Lesen. Erstellen Sie ein kostenloses Konto, um sie in einem Live-Lab auszuführen.

Container-Lab4 Min. Lesezeit1 Befehl

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.

Befehl
curl -s -o /dev/null -w "%{http_code}\n" http://dvwa/login.php

Hier 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 &lt;. 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.

Mehr in diesem Lab

Über dieses Lab und seinen Quellcode: DVWA-Lab: SQL-Injection und XSS in der Damn Vulnerable Web Application üben

Sie unterrichten eine Klasse? Weisen Sie diese Lektionen Ihren Lernenden zu, mit Bewertung und einem Lab für jede lernende Person.