XSS Hunter Express
In 5 Minuten eingerichtet und wartungsfrei
Der schnellste Weg, XSS Hunter einzurichten, um blinde Cross-Site-Scripting-Schwachstellen zu testen und zu finden.
Einrichtung (Fünf Minuten, versuch nicht zu viel zu überfliegen)
Voraussetzungen
docker und docker-compose installiert
- Host mit mindestens 2 GB RAM
- Ein Hostname (z. B.
host.example.com), den du der IP deines Servers zuordnen kannst (DNS-Kontrolle darüber haben)
- [Für E-Mail-Benachrichtigungen] Um E-Mail-Benachrichtigungen über ausgelöste XSS-Payloads zu erhalten, benötigst du ein E-Mail-Konto mit gültigen SMTP-Anmeldedaten. Du kannst dafür viele reguläre E-Mail-Konten wie Gmail verwenden. Dies ist nicht erforderlich, wenn du keine E-Mail-Benachrichtigungen möchtest.
Konfigurieren deiner Instanz
Um XSS Hunter Express einzurichten, ändere die Datei docker-compose.yaml mit deinen entsprechenden Einstellungen/Passwörtern/usw.
Die folgenden sind einige YAML-Felder (in docker-compose.yaml), die du vor dem Start des Dienstes ändern musst:
HOSTNAME: Setze dieses Feld auf den Hostnamen, den du für deine Payloads und für den Zugriff auf das Web-Admin-Panel verwenden möchtest. Oft ist dieser so kurz wie möglich (z. B. xss.ht), damit der Payload in verschiedene Felder für Tests passt. Dieser Hostname sollte der IP-Adresse deiner Instanz zugeordnet sein (über einen DNS-A-Eintrag).
SSL_CONTACT_EMAIL: Um TLS/SSL-Zertifikate automatisch über Let's Encrypt einzurichten und zu erneuern, musst du eine E-Mail-Adresse angeben.
Die folgenden werden benötigt, wenn du E-Mail-Benachrichtigungen möchtest:
SMTP_EMAIL_NOTIFICATIONS_ENABLED: Aktiviere diese Option, um E-Mail-Benachrichtigungen zu erhalten (du musst dies auch über die folgenden Konfigurationen einrichten).
SMTP_HOST: Der Host deines SMTP-Servers, auf dem dein E-Mail-Konto gehostet wird (z. B. smtp.gmail.com).
SMTP_PORT: Der Port deines SMTP-Servers (z. B. 465).
SMTP_USE_TLS: TLS verwenden, wenn dein SMTP-Server dies unterstützt.
SMTP_USERNAME: Der Benutzername des E-Mail-Kontos auf deinem SMTP-Server (z. B. exampleuser).
SMTP_PASSWORD: Das Passwort des E-Mail-Kontos auf deinem SMTP-Server (z. B. Password1!).
SMTP_FROM_EMAIL: Die E-Mail-Adresse deines E-Mail-Kontos auf dem SMTP-Server (z. B. [email protected]).
SMTP_RECEIVER_EMAIL: An welche E-Mail-Adresse die Benachrichtigungen gesendet werden. Dies kann dieselbe wie oben sein, könnte aber auch anders sein.
Schließlich ist Folgendes für Sicherheitsbewusste zu bedenken:
CONTROL_PANEL_ENABLED: Wenn du die Angriffsfläche deiner Instanz minimieren möchtest, kannst du das Web-Kontrollpanel deaktivieren. Dadurch erhältst du nur noch E-Mails über ausgelöste Payloads (Ergebnisse werden weiterhin auf der Festplatte und in der Datenbank gespeichert).
Build & Start von XSS Hunter Express
Sobald du alles eingerichtet hast, führe einfach die folgenden Befehle aus, um den Dienst einzurichten:
# In das Repo-Verzeichnis wechseln
cd xsshunter-express/
# Postgres im Hintergrund starten
docker-compose up -d postgresdb
# Den Dienst starten
docker-compose up xsshunterexpress
Wenn alles gut gelaufen ist, siehst du ein Admin-Passwort auf deinem Bildschirm. Verwende dieses, um dich im Web-Panel unter https://your-hostname.com/admin/ anzumelden.
HINWEIS: Die allererste HTTP-Anfrage an deine Instanz wird langsam sein, da der Dienst automatisch ein TLS/SSL-Zertifikat generiert. Dies sollte nur etwa 15 Sekunden dauern.
Funktionen
- Verwaltete XSS-Payload-Auslösungen: Verwalte alle deine XSS-Payloads im Kontrollpanel deines XSS-Hunter-Kontos.
- Leistungsstarke XSS-Sonden: Die folgenden Informationen werden jedes Mal gesammelt, wenn eine Sonde auf einer verwundbaren Seite ausgelöst wird:
- Die URI der verwundbaren Seite
- Ausführungsursprung
- Die IP-Adresse des Opfers
- Der Referer der Seite
- Der User-Agent des Opfers
- Alle Nicht-HTTP-Only-Cookies
- Das vollständige HTML-DOM der Seite
- Vollständiger Screenshot der betroffenen Seite
- Verantwortliche HTTP-Anfrage (wenn ein XSS-Hunter-kompatibles Injektionswerkzeug verwendet wird)
- Die vom Browser gemeldete Zeit
- Ob der Payload in einem iframe ausgelöst wurde
- Vollständig dockerisiert: Ändere die Konfiguration mit deinen benutzerdefinierten Einstellungen und starte mit einem einzigen Befehl!
- Automatische TLS/SSL-Einrichtung & -Erneuerung: Erstelle einfach die richtigen DNS-Einträge und XSS Hunter Express nutzt automatisch LetsEncrypt, um die entsprechenden TLS/SSL-Zertifikate einzurichten und zu erneuern.
gzip-komprimierte Payload-Auslösungsbilder: Alle Bilder werden mit gzip-Komprimierung gespeichert, um weniger Festplattenspeicher auf deiner Instanz zu verbrauchen.
- Minimierte Angriffsfläche: Optional kann die Web-UI vollständig deaktiviert werden, um die Angriffsfläche deiner Instanz zu minimieren.
- Vollständige Seiten-Screenshots: XSS-Hunter-Sonden nutzen die HTML5-Canvas-API, um einen vollständigen Screenshot der verwundbaren Seite zu generieren, auf der ein XSS-Payload ausgelöst wurde. Mit dieser Funktion kannst du in interne Admin-Panels, Support-Desks, Protokollierungssysteme und andere interne Web-Apps blicken. Dies ermöglicht aussagekräftigere Berichte, die die vollständige Auswirkung der Schwachstelle für deinen Kunden oder dein Bug-Bounty-Programm zeigen.
- E-Mail-Berichte bei XSS-Payload-Auslösungen: XSS-Payload-Auslösungen senden auch detaillierte E-Mail-Berichte, die leicht an die entsprechenden Sicherheitskontakte weitergeleitet werden können, um kritische Fehler einfach zu melden.
- Automatische Payload-Generierung: XSS Hunter generiert automatisch XSS-Payloads für dich, die du in deinen Webanwendungs-Sicherheitstests verwenden kannst.
- Korrelierte Injektionen: Vielleicht die leistungsstärkste Funktion von XSS Hunter ist die Fähigkeit, Injektionsversuche mit XSS-Payload-Auslösungen zu korrelieren. Durch die Verwendung eines XSS-Hunter-kompatiblen Testwerkzeugs kannst du sofort wissen, was einen bestimmten Payload ausgelöst hat (sogar Wochen nach dem Injektionsversuch!).
- Seitenabruf: Wenn dein XSS-Payload ausgelöst wird, kannst du eine Liste relativer Pfade angeben, die der Payload automatisch abrufen und speichern soll. Dies ist nützlich, um andere Schwachstellen wie schlechte
crossdomain.xml-Richtlinien auf internen Systemen zu finden, auf die normalerweise nicht zugegriffen werden kann.
- Sekundäres Payload-Laden: Hast du einen sekundären Payload, den du laden möchtest, nachdem XSS Hunter seine Arbeit erledigt hat? XSS Hunter bietet dir die Option, ein sekundäres JavaScript-Payload anzugeben, das nach Abschluss der Sammlung ausgeführt werden soll.
- Mobil kompatibel: Überprüfe deine Payloads in der Bar ohne deinen Laptop – die Weboberfläche ist vollständig für Mobilgeräte optimiert.
Screenshots