XSS-Schwachstellen-Experimente mit Hackbar durchführen

NmapNmapBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

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!


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL nmap(("Nmap")) -.-> nmap/NmapGroup(["Nmap"]) nmap/NmapGroup -.-> nmap/firewall_evasion("Firewall Evasion Techniques") subgraph Lab Skills nmap/firewall_evasion -.-> lab-416153{{"XSS-Schwachstellen-Experimente mit Hackbar durchführen"}} end

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:

  1. Navigieren Sie zum Verzeichnis /home/labex/project.
  2. 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.
    hackbar extension installation popup

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-Schwachstellenexperiment 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' --registry-mirror='https://registry.docker-cn.com'

Ö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:

  1. Drücken Sie F12, um hackbar zu öffnen, und klicken Sie auf "Load URL", um die URL der aktuellen Seite zu laden.
  2. Ändern Sie den Wert des name-Parameters in 123 und klicken Sie dann auf "Execute". Die Seite sollte sich mit dem neuen Wert aktualisieren, wie in der folgenden Abbildung gezeigt.
    XSS name parameter update
  3. 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 alert triggered

XSS-Schwachstellenexperiment 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:

  1. 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.
    Failed XSS injection attempt
  2. Untersuchen Sie den Quellcode der Seite. Sie werden feststellen, dass die <script>- und </script>-Tags herausgefiltert werden, wie in der folgenden Abbildung gezeigt.
    XSS filter source code
  3. 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 bypass successful injection

XSS-Schwachstellenexperiment 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:

  1. Versuchen Sie, eine einfache XSS-Payload mit hackbar einzufügen. Sie werden jedoch feststellen, dass der Server das Schlüsselwort script erkennt und blockiert, wie in der folgenden Abbildung gezeigt.
    XSS filter blocks script tag
  2. Um diesen Filter zu umgehen, verwenden wir das HTML-Tag <a> in Kombination mit dem Attribut onclick:
<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.

  1. 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.
    XSS alert activation example

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.