XSS Catcher
Ein Blind-XSS-Erkennungs- und Datenerfassungs-Framework, das auf Flask, VueJS und PostgreSQL basiert.
XSS Catcher ist ein intuitives Tool, das blinde Cross-Site-Scripting-Angriffe (XSS) und die Datensammlung, einschließlich Screenshots, automatisiert. Es verfügt über einen benutzerfreundlichen Payload-Generator zur Erstellung anpassbarer XSS-Payloads und bietet Funktionen wie Webhook- und E-Mail-Benachrichtigungen, Multi-Faktor-Authentifizierung und Multi-User-Zugriff. Das Tool ist unkompliziert konzipiert, lässt sich einfach in Plattformen wie Slack und Discord integrieren, erfasst umfassende Daten wie Cookies, Local Storage und Session Storage und liefert detaillierte Einblicke wie HTTP-Header und DOM-Snapshots. Darüber hinaus unterstützt es API-Schlüssel für erweiterte Automatisierung, optimiert XSS-Tests und macht komplexe Angriffsszenarien zugänglicher und handhabbarer.
Funktionen •
Installation •
Aktualisierung •
Erstanmeldung •
API-Dokumentation •
Demo •
Fehlerbehebung •
Danksagungen

Funktionen
- Einfache und anpassbare XSS-Payloads mit einem benutzerfreundlichen Payload-Generator erstellen
- Benachrichtigungen bei neu erkannten XSS-Angriffen per Webhook (Slack, Discord oder Automatisierungsformat) und E-Mail
- Ziel-E-Mail oder Webhook kann global und pro Client konfiguriert werden
- Multi-User mit Admin- und eingeschränkten Benutzerrechten
- Multi-Faktor-Authentifizierung mit TOTP
- Erfassung von Cookies, Local Storage, Session Storage und mehr
- Speicherung zusätzlicher Informationen über den XSS-Angriff, wie HTTP-Header, Quell-IP-Adresse, Zeitstempel usw.
- Fungiert als „Catch-All“-Endpunkt. Senden Sie Ihre Daten einfach im Query-String (GET) oder Body (POST) an die URL Ihres Clients, und XSS Catcher fängt sie auf!
- Nutzt html2canvas und fingerprintjs
- Erfasst das vollständige DOM, sodass Sie leicht nachvollziehen können, wo der Payload ausgelöst wurde
- Ermöglicht das Hinzufügen benutzerdefinierter Tags zu Ihren XSS-Funden, um sie besser zu kategorisieren und zu durchsuchen
- Ermöglicht die Ausführung benutzerdefinierten JavaScript-Codes und die Erfassung der Ausgabe
- Unterstützt bis zu 5 API-Schlüssel pro Benutzer, um in Kombination mit Webhooks erweiterte Angriffsszenarien zu automatisieren
Installation
Die einfachste Art, XSS Catcher auszuführen, ist die Verwendung des Dockerhub-Images (Sie benötigen Docker):
# App starten, indem sie auf Port 8080 freigegeben wird
$ docker run -p 8080:80 daxhackerman/xss-catcher
# Standardmäßig hat der Container keine Persistenz. Falls benötigt, kann ein Volume eingerichtet werden
$ docker volume create xsscatcher-db
$ docker run -p 8080:80 -v xsscatcher-db:/var/lib/postgresql/14/main/ -d --name xsscatcher daxhackerman/xss-catcher
Falls Sie das Image selbst erstellen möchten, benötigen Sie Git und optional make. Führen Sie in der Befehlszeile Folgendes aus:
# Dieses Repository klonen
$ git clone https://github.com/daxAKAhackerman/XSS-Catcher.git
# In das Repository wechseln
$ cd XSS-Catcher
# Alle folgenden Befehle verwenden make. Falls make auf Ihrem System nicht verfügbar ist, schauen Sie in die Makefile und führen Sie die erforderlichen Befehle manuell aus (unter build, start oder stop)
# Falls Sie die Anwendung noch nie ausgeführt haben, bauen Sie sie
$ make
# Anwendung starten. Sie lauscht auf Port 8080.
$ make start
# Anwendung beenden, wenn Sie fertig sind
$ make stop
# Sie können die Anwendung bei Bedarf aktualisieren
$ git pull && make stop; make && make start
Erstanmeldung
- Standard-Anmeldedaten für die Weboberfläche sind admin:xss
- Standard-Web-Port bei Ausführung über die Makefile ist 8080
Demo

API-Dokumentation
Die Postman-Collection finden Sie hier: https://www.postman.com/maintenance-architect-74448403/workspace/xss-catcher
Fehlerbehebung
JavaScript Mixed Content Fehler
Um JavaScript-Mixed-Content-Fehler zu vermeiden, wenn der XSS-Payload ausgelöst wird, wird dringend empfohlen, XSS Catcher hinter einem Reverse-Proxy mit gültigen TLS-Zertifikaten zu betreiben.
Danksagungen
Haftungsausschluss
Die Nutzung dieses Tools zum Angriff auf Ziele ohne vorherige gegenseitige Zustimmung ist illegal. Es liegt in der Verantwortung des Endbenutzers, alle geltenden lokalen, bundesstaatlichen und föderalen Gesetze einzuhalten. Wir übernehmen keine Haftung und sind nicht verantwortlich für Missbrauch oder Schäden, die durch dieses Tool verursacht werden.
Das könnte Ihnen auch gefallen...
GitHub @daxAKAhackerman