Munscheidstr. 14 in 45886 Gelsenkirchen

Jetzt anrufen 0209 - 8830 6760

Pentest-Tool #6 – XSStrike – Ein multifunktionaler XSS-Scanner

M.Sc. Jan Hörnemann

Diese Woche stellen wir in unserer Serie Pentest-Tools das Pentest-Tool #6 „XSStrike“ vor. XSStrike ist ein Scanner und wird zum Auffinden von Cross Site Scripting (XSS) Schwachstellen verwendet. Es kann auch Web Application Firewalls (WAFs) untersuchen, Fingerabdrücke erstellen und fuzzen.


Jetzt unser Whitepaper zur Active Directory Härtung kostenfrei herunterladen!

Das Active Directory ist die Achillesferse der IT-Infrastruktur.
Wir geben Ihnen 7 Hinweise, Empfehlungen sowie Tipps zur Härtung des Systems.


Installation von XSStrike

XSStrike ist in der Regel nicht vorinstalliert, ähnlich zum Portscanner Naabu. Um ein GitHub Repository in den aktuell ausgewählten Ordner zu klonen, müssen wir in unserem Terminal folgendes eingeben:

git clone https://github.com/s0md3v/XSStrike

In diesem Beispiel klonen wir das Repository unseres Pentest-Tool #6 XSStrike. Grundsätzlich kann mit dem Befehl „git clone“ jede Quelle von Github heruntergeladen werden. Nachdem wir das Tool auf unseren Rechner geklont haben, müssen wir in den Ordner wechseln, in dem wir den Befehl „Change Directory“ nutzen.

cd XSStrike
Nun sind wir mit dem Terminal im Ordner XSStrike und können direkt mit dem Tool interagieren. Das Tool ist in Python geschrieben und es gibt eine Datei namens „requirements.txt“. Diese Datei enthält alle Abhängigkeiten, die wir benötigen, um XSStrike zu starten. Wir können mit „pip“ und einem Befehl alle Abhängigkeiten direkt installieren. „pip“ ist ein Paketverwaltungsprogramm für Python-Pakete. Mit dem Schlüsselwort „install -r“ können wir alle in „Requirements.txt“ enthaltenen Abhängigkeiten direkt installieren. Da es sich bei XSStrike um ein Python3 Programm handelt rufen wir alles mit „pip3“ auf:

pip3 install -r requirements.txt

Nachdem alle Abhängigkeiten installiert sind, lässt sich das Programm einfach starten. Wir können verifizieren, dass bei der Installation alles geklappt hat, indem wir die Hilfe aufrufen:
python3 xsstrike.py --help

XSStrike-Hilfe

Nun können wir beginnen, dass Tool zu benutzen. Wie wir am obigen Beispiel erkennen können, rufen wir das Programm mit „python3 xsstrike.py“ auf. Nun können beginnen XSS-Schwachstellen zu suchen. Dafür benötigen wir eine Testseite, die Nutzereingaben verarbeitet, dies können „Suchfunktionen“ oder „Formulare“ sein.

Cross Site Scripting (XSS) ist eine der häufigsten Schwachstellen im Internet. Sie tritt besonders gern dort auf, wo Nutzereingaben verarbeitet werden, beispielsweise in Suchfeldern oder Kontaktformularen. Schadcode der durch einen Angreifer auf die Webseite geschleust wird, wird von anderen Nutzern im Vertrauenswürdigen Kontext der Webseite geöffnet und ausgeführt. Dadurch werden besonders gern Daten geklaut oder Informationen ausgelesen. Es gibt drei verschiedene Arten von Cross Site Scripting. Diese sind folgende: Reflektierte XSS-, Persistente XSS- und DOM-basierte XSS-Angriffe. Die drei Arten von XSS werden wir in einem zukünftigen Artikel genauer vorstellen.


Erkennen Sie zuverlässig Phishing E-Mails?

Jetzt das AWARE7 Phishing Quiz absolvieren
und das eigene Wissen überprüfen!



Laden Sie jetzt unsere kostenfreie Penetrationstest Checkliste herunter

 

7 Schritte zum umfangreichen Aufbau und Ablauf eines Penetrationstests.

Kostenfrei. Jetzt anfordern


Pentest-Tool #6 in der Praxis

Nach der Installation können wir viele Konfigurationsmöglichkeiten setzen, wie beispielsweise das entdecken von verwundbaren Parametern oder das auslassen bestimmter Tests. In unserem Beispiel testen wir eine Webseite, welche das scannen nach Schwachstellen bei Open Bug Bounty erlaubt. Zusätzlich wollen wir Parameter entdecken und DOM-XSS nicht überprüfen.

Um das Programm zu wird folgender Befehl im Terminal eingegeben:

python3 xsstrike.py -u "https://entervending.com/search?" --params --skip-dom

XSStrike-PraxisWir können sehen, dass vier Parameter gefunden werden, allerdings keine Angriffsvektoren erstellt wurden. Das Pentest-Tool #6 kann nun genutzt werden, um XSS Schwachstellen in diversen Webanwendungen aufzufinden.


Hat Ihnen der Beitrag gefallen? Gerne benachrichtigen wir Sie, wenn wir einen neuen Beitrag veröffentlicht haben. Tragen Sie jetzt Ihre E-Mail-Adresse ein. Für Sie entstehen keine Kosten.


Foto des Autors

M.Sc. Jan Hörnemann

Hallo liebe/r Leser/in, mein Name ist Jan Hörnemann. Ich bin TeleTrust Information Security Professional (T.I.S.P.) und beschäftigte mich seit 2016 nahezu tagtäglich mit Themen rund um die Informationssicherheit. Der CeHv10 war meine erste praktische Zertifizierung in dem Bereich. Durch den Abschluss Master of Science in dem Fachbereich Internet-Sicherheit habe ich viele verschiedene Aspekte kennengelernt und versuche diese sowohl in Live Hacking Shows als auch in unserem Blog zu vermitteln. Darüber hinaus bin ich als Informationssicherheitsbeauftragter tätig und vom TÜV für diese Tätigkeit qualifiziert worden (ISB nach ISO 27001)