← retour aux outils back to tools

# wapiti

Scanner de vulnérabilités d'applications web en boîte noire. Parcourt les applications web et fuzz les endpoints découverts pour XSS, SQLi, XXE, SSRF, path traversal, et plus. Black-box web application vulnerability scanner. Crawls web apps and fuzzes discovered endpoints for XSS, SQLi, XXE, SSRF, path traversal, and more.

↗ https://wapiti-scanner.github.io/

## Overview

wapiti is an open-source black-box web vulnerability scanner. It first crawls the target to build a map of pages and parameters, then fuzzes each parameter for common vulnerabilities: SQL injection, XSS, file disclosure, XXE, SSRF, CSRF, open redirects, and more. No server-side access required.

## Basic Usage

Basic scan

    wapiti -u https://example.com/

Scan with specific depth

    wapiti -u https://example.com/ --depth 3

Scan only specific URL (no crawl)

    wapiti -u https://example.com/search?q=test --scope page

List available modules

    wapiti --list-modules

Run specific module only

    wapiti -u https://example.com/ -m xss,sql

Output HTML report

    wapiti -u https://example.com/ -f html -o report.html

## Authentication

HTTP Basic Auth

    wapiti -u https://example.com/ --auth-user admin --auth-password secret

Login form authentication

    wapiti -u https://example.com/ \
      --form-user admin \
      --form-password secret \
      --form-url https://example.com/login

With cookies

    wapiti -u https://example.com/ --cookie "session=abc123"

With headers

    wapiti -u https://example.com/ -H "Authorization: Bearer TOKEN"

## Scan Scopes

page — only the specified URL (no crawl)

    wapiti -u https://example.com/vuln.php?id=1 --scope page

folder — only URLs under the specified folder

    wapiti -u https://example.com/app/ --scope folder

domain — full domain crawl

    wapiti -u https://example.com/ --scope domain

url — specified URL only (no params)

    wapiti -u https://example.com/ --scope url

## Output Formats

HTML report (default)

    wapiti -u https://example.com/ -f html -o report.html

JSON report (for automation)

    wapiti -u https://example.com/ -f json -o report.json

XML report

    wapiti -u https://example.com/ -f xml -o report.xml

Verbose output

    wapiti -u https://example.com/ -v 2

## Available Modules

    sql         SQL injection
    xss         Cross-site scripting
    xxe         XML external entity injection
    ssrf        Server-side request forgery
    file        File disclosure / path traversal
    redirect    Open redirect
    shellshock  Shellshock (CGI)
    htaccess    .htaccess misconfiguration
    backup      Backup file detection
    csp         Content Security Policy
    csrf        CSRF vulnerabilities
    cms         CMS detection
    wapp        Wappalyzer (technology detection)

## Tips

- Always set `--scope folder` or `--scope domain` rather than page for broader coverage
- Use `--max-parameters 100` to limit parameter combinations and speed up the scan
- Combine with manual testing — automated scanners miss business logic flaws
- JSON output integrates well with vulnerability management platforms

Help / Man page

    wapiti -u URL [options]

    -u URL              Target URL
    --scope SCOPE       page|folder|domain|url
    --depth N           Crawl depth (default: 40)
    -m MODULES          Comma-separated list of modules
    --list-modules      Show available modules
    -f FORMAT           Report format: html, json, xml, txt
    -o FILE             Output file
    --auth-user U       HTTP auth username
    --auth-password P   HTTP auth password
    --cookie C          Cookie string
    -H HEADER           Custom header
    -p PROXY            Proxy URL
    -t TIMEOUT          Timeout per request
    --max-parameters N  Max parameter combinations
    -v LEVEL            Verbosity 0-2

## Vue d’ensemble

wapiti est un scanner de vulnérabilités web en boîte noire, open-source. Il parcourt d’abord la cible pour construire une carte des pages et des paramètres, puis fuzz chaque paramètre à la recherche de vulnérabilités courantes : injection SQL, XSS, divulgation de fichiers, XXE, SSRF, CSRF, redirections ouvertes, et plus. Aucun accès côté serveur n’est requis.

## Utilisation de base

    # Scan basique
    wapiti -u https://example.com/

    # Scan avec une profondeur spécifique
    wapiti -u https://example.com/ --depth 3

    # Scanner uniquement une URL spécifique (pas de crawl)
    wapiti -u https://example.com/search?q=test --scope page

    # Lister les modules disponibles
    wapiti --list-modules

    # Lancer un module spécifique uniquement
    wapiti -u https://example.com/ -m xss,sql

    # Générer un rapport HTML
    wapiti -u https://example.com/ -f html -o report.html

## Authentification

    # Authentification HTTP Basic
    wapiti -u https://example.com/ --auth-user admin --auth-password secret

    # Authentification par formulaire de connexion
    wapiti -u https://example.com/ \
      --form-user admin \
      --form-password secret \
      --form-url https://example.com/login

    # Avec des cookies
    wapiti -u https://example.com/ --cookie "session=abc123"

    # Avec des en-têtes
    wapiti -u https://example.com/ -H "Authorization: Bearer TOKEN"

## Portées de scan

    # page   : uniquement l'URL spécifiée (pas de crawl)
    wapiti -u https://example.com/vuln.php?id=1 --scope page

    # folder : uniquement les URL sous le dossier spécifié
    wapiti -u https://example.com/app/ --scope folder

    # domain : crawl complet du domaine
    wapiti -u https://example.com/ --scope domain

    # url    : URL spécifiée uniquement (sans paramètres)
    wapiti -u https://example.com/ --scope url

## Formats de sortie

    # Rapport HTML (par défaut)
    wapiti -u https://example.com/ -f html -o report.html

    # Rapport JSON (pour l'automatisation)
    wapiti -u https://example.com/ -f json -o report.json

    # Rapport XML
    wapiti -u https://example.com/ -f xml -o report.xml

    # Sortie verbeuse
    wapiti -u https://example.com/ -v 2

## Modules disponibles

    sql         Injection SQL
    xss         Cross-site scripting
    xxe         Injection d'entité externe XML
    ssrf        Server-side request forgery
    file        Divulgation de fichiers / path traversal
    redirect    Redirection ouverte
    shellshock  Shellshock (CGI)
    htaccess    Mauvaise configuration .htaccess
    backup      Détection de fichiers de sauvegarde
    csp         Content Security Policy
    csrf        Vulnérabilités CSRF
    cms         Détection de CMS
    wapp        Wappalyzer (détection de technologie)

## Conseils

- Toujours définir `--scope folder` ou `--scope domain` plutôt que page pour une couverture plus large
- Utiliser `--max-parameters 100` pour limiter les combinaisons de paramètres et accélérer le scan
- Combiner avec des tests manuels : les scanners automatisés ratent les failles de logique métier
- La sortie JSON s’intègre bien avec les plateformes de gestion des vulnérabilités

Aide / Page de manuel

    wapiti -u URL [options]

    -u URL              Target URL
    --scope SCOPE       page|folder|domain|url
    --depth N           Crawl depth (default: 40)
    -m MODULES          Comma-separated list of modules
    --list-modules      Show available modules
    -f FORMAT           Report format: html, json, xml, txt
    -o FILE             Output file
    --auth-user U       HTTP auth username
    --auth-password P   HTTP auth password
    --cookie C          Cookie string
    -H HEADER           Custom header
    -p PROXY            Proxy URL
    -t TIMEOUT          Timeout per request
    --max-parameters N  Max parameter combinations
    -v LEVEL            Verbosity 0-2