XSS Catcher
Un framework per il rilevamento blind XSS e la cattura di dati XSS che funziona su Flask, VueJS e PostgreSQL.
XSS Catcher è uno strumento intuitivo che automatizza gli attacchi Cross-Site Scripting (XSS) blind e la raccolta dati, inclusi gli screenshot. Dispone di un generatore di payload facile da usare per creare payload XSS personalizzabili e offre funzionalità come notifiche tramite webhook ed email, autenticazione multi-fattore e accesso multi-utente. Progettato per essere semplice, si integra facilmente con piattaforme come Slack e Discord, cattura dati completi tra cui cookie, localStorage e sessionStorage, e fornisce informazioni dettagliate come intestazioni HTTP e snapshot del DOM. Inoltre, supporta chiavi API per automazione avanzata, semplificando i test XSS e rendendo complessi scenari d'attacco più accessibili e gestibili.
Caratteristiche •
Installazione •
Aggiornamento •
Primo accesso •
Documentazione API •
Demo •
Risoluzione problemi •
Crediti

Caratteristiche
- Genera payload XSS semplici e personalizzabili con un generatore di payload facile da usare
- Invia notifiche quando viene catturato un nuovo XSS tramite webhook (Slack, Discord o formato automazione) ed email
- La destinazione email o webhook può essere configurata globalmente e per singolo client
- Multi-utente con amministratore e utenti con privilegi ridotti
- Autenticazione multi-fattore con TOTP
- Permette la cattura di cookie, localStorage, sessionStorage e altro
- Memorizza informazioni aggiuntive sull'XSS come intestazioni HTTP, indirizzo IP di origine, timestamp, ecc.
- Funge da endpoint "catch-all". Invia i tuoi dati nella querystring (GET) o nel corpo (POST) all'URL del tuo client e XSS Catcher li catturerà!
- Sfrutta html2canvas e fingerprintjs
- Cattura l'intero DOM per sapere facilmente dove è stato attivato il payload
- Permette di aggiungere tag personalizzati ai tuoi XSS per meglio categorizzarli e cercarli
- Permette di eseguire codice JavaScript personalizzato e catturarne l'output
- Supporta fino a 5 chiavi API per utente per automatizzare scenari d'attacco avanzati in combinazione con webhook
Installazione
Il modo più semplice per eseguire XSS Catcher è utilizzare l'immagine Dockerhub (è necessario Docker):
# Esecuzione dell'app esponendola sulla porta 8080
$ docker run -p 8080:80 daxhackerman/xss-catcher
# Di default, il contenitore non ha persistenza. Se ne hai bisogno, puoi configurare un volume
$ docker volume create xsscatcher-db
$ docker run -p 8080:80 -v xsscatcher-db:/var/lib/postgresql/14/main/ -d --name xsscatcher daxhackerman/xss-catcher
Se desideri creare tu stesso l'immagine, avrai bisogno di Git e opzionalmente di make. Dal tuo terminale:
# Clona questo repository
$ git clone https://github.com/daxAKAhackerman/XSS-Catcher.git
# Entra nella directory del repository
$ cd XSS-Catcher
# Tutti i seguenti comandi usano make. Se sei su un sistema dove make non è disponibile, dai un'occhiata al Makefile ed esegui manualmente i comandi necessari (sotto build, start o stop)
# Se non hai mai eseguito l'applicazione, costruiscila
$ make
# Avvia l'applicazione. Ascolterà sulla porta 8080.
$ make start
# Ferma l'applicazione quando hai finito
$ make stop
# Puoi aggiornare l'applicazione quando necessario
$ git pull && make stop; make && make start
Primo accesso
- Le credenziali predefinite per l'accesso all'interfaccia web sono admin:xss
- La porta web predefinita quando si esegue tramite il Makefile è 8080
Demo

Documentazione API
Le raccolte Postman si trovano qui: https://www.postman.com/maintenance-architect-74448403/workspace/xss-catcher
Risoluzione problemi
Errore di contenuto misto JavaScript
Per evitare errori di contenuto misto JavaScript quando il payload XSS viene attivato, è altamente consigliato mettere XSS Catcher dietro un proxy inverso che fornisce certificati TLS validi.
Crediti
Disclaimer
L'utilizzo di questo strumento per attaccare obiettivi senza previo consenso reciproco è illegale. È responsabilità dell'utente finale rispettare tutte le leggi locali, statali e federali applicabili. Non ci assumiamo alcuna responsabilità e non siamo responsabili per abusi o danni causati da questo strumento.
Potrebbe interessarti anche...
GitHub @daxAKAhackerman