Einführung
Willkommen in unserem interaktiven Lab! Hier tauchen wir in die Welt der Web-Sicherheit ein, indem wir uns auf Cross-Site Scripting (XSS) konzentrieren - eine häufige, aber entscheidende Schwachstelle in Webanwendungen. Wenn eine Website nicht richtig gegen XSS geschützt ist, kann sie zu einem Spielplatz für Angreifer werden.
Aber keine Sorge! Wir werden Ihnen helfen, dieses Problem zu verstehen und zu bewältigen. Wir beginnen damit, zu erklären, was XSS ist, warum es wichtig ist und wie es ausgenutzt werden kann. Anschließend führen wir Sie durch die Verwendung eines Tools namens 'hackbar', das uns bei der Identifizierung potenzieller XSS-Schwachstellen helfen wird.
Darüber hinaus werden wir auch verschiedene 'Umgehungstechniken' (bypassing techniques) untersuchen. Dies sind clevere Methoden, die Angreifer verwenden können, um Sicherheitsmaßnahmen zu umgehen. Indem wir sie verstehen, können wir unsere Websites besser schützen.
Denken Sie daran, dass die beste Art zu lernen, ist, es selbst zu tun - daher werden wir im Laufe des Labs praktische Experimente durchführen. Am Ende dieses Labs werden Sie ein solides Verständnis von XSS-Schwachstellen und deren Prävention haben. Los geht's!
Installation und Verwendung von Hackbar
In diesem Modul werden wir uns mit einem praktischen Tool namens 'hackbar' vertraut machen, das uns bei der Erkennung von XSS (Cross-Site Scripting)-Schwachstellen helfen wird.
Zunächst installieren wir die hackbar-Browsererweiterung:
- Navigieren Sie zum Verzeichnis
/home/labex/project. - Suchen Sie die Datei
hackbar-2.3.1-fx.xpi, doppelklicken Sie darauf und klicken Sie dann im Pop-up-Fenster auf "Hinzufügen", um die Erweiterung zu installieren. Genau wie in der folgenden Abbildung gezeigt.
Nachdem die Installation abgeschlossen ist, können Sie hackbar über die Entwicklertools Ihres Browsers öffnen. Dies geschieht normalerweise, indem Sie die Taste F12 drücken oder über Einstellungen > Entwickler > Debugger navigieren.
Lassen Sie uns schnell einige der wichtigsten Funktionen von hackbar besprechen:
- Load URL: Diese Funktion lädt die URL der Seite, auf der Sie sich gerade befinden, in hackbar.
- Split URL: Diese Funktion teilt die URL-Parameter auf, um sie leichter lesbar und verständlich zu machen.
- Execute: Diese Funktion sendet die modifizierte URL zurück an den Server.
- Post data: Mit dieser Funktion können Sie POST-Daten an den Server senden.
Darüber hinaus verfügt hackbar über integrierte Payloads für verschiedene Schwachstellen, einschließlich SQL-Injection, XSS und XXE.
XSS - Sicherheitslückenexperiment 1
In diesem Abschnitt werden wir uns mit einer grundlegenden XSS (Cross-Site Scripting)-Schwachstelle befassen und lernen, wie wir sie mit hackbar ausnutzen können.
Zunächst führen Sie den folgenden Befehl aus, um unsere Lab-Umgebung vorzubereiten:
docker run -d -p 82:80 --name pentesterlab-WebforPentest-1 -it jewel591/vulnbox:pentesterlab-WebforPentest-1 /bin/sh -c 'service apache2 start && tail -f /var/log/apache2/error.log'
Öffnen Sie anschließend Ihren Webbrowser und navigieren Sie zu dieser URL:
http://127.0.0.1:82/xss/example1.php?name=hacker
Hier sind die Schritte, um die XSS-Schwachstelle auszunutzen:
- Drücken Sie F12, um hackbar zu öffnen, und klicken Sie auf "Load URL", um die URL der aktuellen Seite zu laden.
- Ändern Sie den Wert des
name-Parameters in123und klicken Sie dann auf "Execute". Die Seite sollte sich mit dem neuen Wert aktualisieren, wie in der folgenden Abbildung gezeigt.
- Verwenden Sie die integrierte XSS-Payload in hackbar (
XSS > XSS Alert) und klicken Sie auf "Execute". Dies sollte zu einem ausgelösten XSS-Alarm führen, wie in der folgenden Abbildung gezeigt.
XSS - Sicherheitslückenexperiment 2
In diesem Teil werden wir eine grundlegende Technik zur Umgehung von XSS (Cross-Site Scripting)-Filtern untersuchen.
Beginnen Sie, indem Sie in Ihrem Webbrowser zur folgenden URL navigieren:
http://127.0.0.1:82/xss/example2.php?name=hacker
Hier sind die Schritte, um den XSS-Filter zu umgehen:
- Versuchen Sie, eine einfache XSS-Payload mit hackbar einzufügen, beispielsweise
<script>alert(1)</script>. Sie werden feststellen, dass dies nicht das erwartete Ergebnis liefert, wie in der folgenden Abbildung gezeigt.
- Untersuchen Sie den Quellcode der Seite. Sie werden feststellen, dass die
<script>- und</script>-Tags herausgefiltert werden, wie in der folgenden Abbildung gezeigt.
- Um diesen Filter zu umgehen, versuchen Sie, eine andere Schreibweise für das
script-Tag zu verwenden, wie<ScripT>alert(1)</ScripT>. Dies könnte es Ihnen ermöglichen, den Filter zu umgehen und die XSS-Payload erfolgreich einzufügen, wie in der folgenden Abbildung gezeigt.
XSS - Sicherheitslückenexperiment 3
In dieser Phase werden wir lernen, wie verschiedene HTML-Tags und Attribute eingesetzt werden können, um XSS (Cross-Site Scripting)-Angriffe auszuführen.
Zunächst navigieren Sie in Ihrem Webbrowser zur folgenden URL:
http://127.0.0.1:82/xss/example4.php?name=hacker
Folgen Sie diesen Schritten, um den XSS-Filter zu umgehen und einen Angriff auszuführen:
- Versuchen Sie, eine einfache XSS-Payload mit hackbar einzufügen. Sie werden jedoch feststellen, dass der Server das Schlüsselwort
scripterkennt und blockiert, wie in der folgenden Abbildung gezeigt.
- Um diesen Filter zu umgehen, verwenden wir das HTML-Tag
<a>in Kombination mit dem Attributonclick:
<a onclick="alert('xss')">xss</a>
Diese Payload erzeugt auf der Webseite einen anklickbaren Link. Wenn dieser angeklickt wird, wird die JavaScript-Funktion alert('xss') ausgelöst.
- Klicken Sie auf den "xss"-Link auf der Seite. Sie sollten sehen, dass der XSS-Alarm ausgelöst wird, wie in der folgenden Abbildung gezeigt.

Es gibt eine Vielzahl von HTML-Tags und Attributen, die in Kombination verwendet werden können, um XSS-Angriffe zu starten. Für ausgefeiltere XSS-Payloads verweisen Sie auf das folgende Repository:
https://github.com/iSecurity-Club/Pentest-Methodologies/blob/master/web-exploit-exp/xss/payloads.txt
Zusammenfassung
In diesem Lab haben wir die grundlegenden Techniken zum Entdecken und Ausnutzen von XSS-Schwachstellen gelernt. Wir haben untersucht, wie das hackbar-Tool zur Prüfung auf XSS-Schwachstellen eingesetzt werden kann und verschiedene Umgehungstechniken angewandt, wie z. B. die Manipulation der Groß- und Kleinschreibung sowie die Verwendung unterschiedlicher HTML-Tags und Attribute. Durch praktische Experimente haben wir praktische Erfahrungen in der Identifizierung und Ausnutzung von XSS-Schwachstellen in Webanwendungen gesammelt. Dieses Lab hat eine solide Grundlage für die weitere Erkundung fortgeschrittenerer XSS-Techniken und die Sicherheitsüberprüfung von Webanwendungen geschaffen.



