← retour aux outils back to tools

# skipfish

Outil actif de reconnaissance de sécurité des applications web. Effectue un crawling et un fuzzing à haute vitesse pour détecter XSS, injection SQL, traversée de chemin, inclusion de fichiers, et d'autres vulnérabilités web. Active web application security reconnaissance tool. Performs high-speed crawling and fuzzing to detect XSS, SQL injection, path traversal, file includes, and other web vulnerabilities.

↗ https://gitlab.com/kalilinux/packages/skipfish

## Overview

skipfish is a Google-developed web application security scanner that performs recursive crawling and dictionary-based fuzzing at very high speed. It detects common web vulnerabilities and produces HTML reports. While development has slowed, it’s still effective for quick web security assessments.

## Basic Usage

Basic scan with output directory

    skipfish -o output/ https://example.com

With authentication cookie

    skipfish -o output/ -I example.com -C "session=abc123" https://example.com/

Exclude specific paths

    skipfish -o output/ -X /logout -X /delete https://example.com/

Rate limiting (requests per second)

    skipfish -o output/ -l 50 https://example.com/

## Wordlist Configuration

Use built-in wordlist (default)

    skipfish -o output/ https://example.com/

Custom wordlist

    skipfish -o output/ -W wordlist.wl https://example.com/

Add additional keywords

    skipfish -o output/ -w /usr/share/skipfish/dictionaries/complete.wl https://example.com/

## Authentication

Cookie-based authentication

    skipfish -o output/ -C "PHPSESSID=abc123; logged_in=1" https://example.com/

HTTP Basic Auth

    skipfish -o output/ -A user:password https://example.com/

Form-based login (set cookies after manual login) 1. Log in manually, capture session cookie 2. Pass cookie to skipfish

    skipfish -o output/ -C "session=TOKEN" https://example.com/

## Scan Scope Control

Limit to specific path

    skipfish -o output/ -I example.com/app/ https://example.com/app/

Exclude paths (logout, delete operations)

    skipfish -o output/ -X /logout -X /account/delete https://example.com/

Follow external links to same domain only

    skipfish -o output/ -g https://example.com/

Depth limit

    skipfish -o output/ -m 3 https://example.com/

## Performance

Set request rate (req/sec)

    skipfish -o output/ -l 100 https://example.com/

Set timeout per request (ms)

    skipfish -o output/ -t 5000 https://example.com/

Number of concurrent requests

    skipfish -o output/ -r 100 https://example.com/

## Viewing Results

Results are saved as HTML report Open in browser:

    firefox output/index.html

    # Or generate report after scan
    # Report shows:
    # - Findings by severity (high/medium/low/info)
    # - URL tree of discovered content
    # - Response signatures

## Common Findings

    High severity:
      - SQL injection
      - XSS (reflected/stored)
      - File path traversal
      - Remote code execution indicators

    Medium severity:
      - Information disclosure
      - Insecure form handling
      - Missing security headers

    Low/Info:
      - Directory listing
      - Error messages with stack traces
      - Robots.txt findings

## Tips

- Use `-X /logout` to avoid being logged out during the scan
- skipfish is fast but can miss vulnerabilities that require complex auth flows
- Combine with manual testing and OWASP ZAP for better coverage
- The `-I` flag restricts crawling to the specified domain/path — important for authorized scope

Help / Man page

    skipfish [options] -o output_dir start_url

    -o DIR       Output directory (required)
    -W FILE      Wordlist file
    -C COOKIE    Add cookie header
    -A USER:PASS HTTP Basic Auth
    -I SCOPE     Crawl only URLs with this prefix
    -X PATH      Exclude this path
    -l N         Request rate limit (req/sec)
    -m DEPTH     Maximum crawl depth
    -t MS        Request timeout (milliseconds)
    -r N         Max concurrent requests
    -g           Don't follow external links
    -q           Quiet mode

## Vue d’ensemble

skipfish est un scanner de sécurité d’applications web développé par Google qui effectue un crawling récursif et un fuzzing basé sur dictionnaire à très haute vitesse. Il détecte les vulnérabilités web courantes et produit des rapports HTML. Bien que son développement ait ralenti, il reste efficace pour des évaluations web rapides.

## Utilisation de base

    # Scan de base avec répertoire de sortie
    skipfish -o output/ https://example.com

    # Avec cookie d'authentification
    skipfish -o output/ -I example.com -C "session=abc123" https://example.com/

    # Exclure des chemins spécifiques
    skipfish -o output/ -X /logout -X /delete https://example.com/

    # Limitation de débit (requêtes par seconde)
    skipfish -o output/ -l 50 https://example.com/

## Configuration de la wordlist

    # Utiliser la wordlist intégrée (par défaut)
    skipfish -o output/ https://example.com/

    # Wordlist personnalisée
    skipfish -o output/ -W wordlist.wl https://example.com/

    # Ajouter des mots-clés supplémentaires
    skipfish -o output/ -w /usr/share/skipfish/dictionaries/complete.wl https://example.com/

## Authentification

    # Authentification par cookie
    skipfish -o output/ -C "PHPSESSID=abc123; logged_in=1" https://example.com/

    # HTTP Basic Auth
    skipfish -o output/ -A user:password https://example.com/

    # Connexion par formulaire (définir les cookies après une connexion manuelle) : 1. se connecter manuellement, capturer le cookie de session 2. passer le cookie à skipfish
    skipfish -o output/ -C "session=TOKEN" https://example.com/

## Contrôle du périmètre de scan

    # Limiter à un chemin spécifique
    skipfish -o output/ -I example.com/app/ https://example.com/app/

    # Exclure des chemins (déconnexion, opérations de suppression)
    skipfish -o output/ -X /logout -X /account/delete https://example.com/

    # Ne suivre les liens externes que vers le même domaine
    skipfish -o output/ -g https://example.com/

    # Limite de profondeur
    skipfish -o output/ -m 3 https://example.com/

## Performance

    # Définir le débit de requêtes (req/sec)
    skipfish -o output/ -l 100 https://example.com/

    # Définir le timeout par requête (ms)
    skipfish -o output/ -t 5000 https://example.com/

    # Nombre de requêtes concurrentes
    skipfish -o output/ -r 100 https://example.com/

## Consulter les résultats

    # Les résultats sont sauvegardés en rapport HTML. Ouvrir dans un navigateur :
    firefox output/index.html

    # Ou générer le rapport après le scan
    # Le rapport montre :
    # - Résultats par sévérité (high/medium/low/info)
    # - Arborescence des URL découvertes
    # - Signatures de réponse

## Résultats courants

    Sévérité haute :
      - Injection SQL
      - XSS (réfléchie/stockée)
      - Traversée de chemin de fichier
      - Indicateurs d'exécution de code distant

    Sévérité moyenne :
      - Divulgation d'informations
      - Gestion de formulaire non sécurisée
      - En-têtes de sécurité manquants

    Basse/Info :
      - Listing de répertoire
      - Messages d'erreur avec stack traces
      - Résultats de Robots.txt

## Conseils

- Utiliser `-X /logout` pour éviter d’être déconnecté pendant le scan
- skipfish est rapide mais peut manquer des vulnérabilités nécessitant des flux d’authentification complexes
- Combiner avec des tests manuels et OWASP ZAP pour une meilleure couverture
- Le flag `-I` restreint le crawling au domaine/chemin spécifié : important pour respecter le périmètre autorisé

Aide / Page de manuel

    skipfish [options] -o output_dir start_url

    -o DIR       Output directory (required)
    -W FILE      Wordlist file
    -C COOKIE    Add cookie header
    -A USER:PASS HTTP Basic Auth
    -I SCOPE     Crawl only URLs with this prefix
    -X PATH      Exclude this path
    -l N         Request rate limit (req/sec)
    -m DEPTH     Maximum crawl depth
    -t MS        Request timeout (milliseconds)
    -r N         Max concurrent requests
    -g           Don't follow external links
    -q           Quiet mode