Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
x8 — Suite de découverte de paramètres cachés | Kitploit
Outils/GitHubGitHub/sh1yo/x8
ReconnaissanceAnalyse des VulnérabilitésCollecte d'InformationsSécurité Web
GitHubsh1yo/x8

x8

Suite de découverte de paramètres cachés

Voir le dépôt
2.1k196il y a 1 anVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Twitter stars issues

Latest Version crates.io crates_downloads github_downloads

x8

Suite de découverte de paramètres cachés écrite en Rust.

L'outil aide à identifier les paramètres cachés qui pourraient être vulnérables ou révéler des fonctionnalités intéressantes qui pourraient échapper à d'autres testeurs. Sa haute précision est obtenue grâce à une comparaison ligne par ligne des pages, une comparaison des codes de réponse et des réflexions.

Documentation

La documentation expliquant chaque fonctionnalité est accessible sur https://sh1yo.art/x8docs/. La source de la documentation se trouve dans /docs.md.

Table des matières

  • Fonctionnalités
  • Exemples
  • Site de test
  • Utilisation
  • Wordlists
  • Intégration Burp Suite
  • Installation

Fonctionnalités

  • Rapide.
  • Offre une configuration flexible des requêtes via l'utilisation de templates et de points d'injection.
  • Hautement scalable, capable de vérifier des milliers d'URLs par exécution.
  • Fournit une précision supérieure par rapport aux outils similaires, en particulier dans les cas difficiles.
  • Capable de découvrir des paramètres avec des valeurs non aléatoires, comme admin=true.
  • Hautement configurable avec un large éventail d'options personnalisables.
  • Atteint des requêtes presque brutes grâce à la modification de bibliothèques externes.

Exemples

Vérifier les paramètres dans la requête

root@kitploit:~
x8 -u "https://example.com/" -w <wordlist>

Avec des paramètres par défaut :

root@kitploit:~
x8 -u "https://example.com/?something=1" -w <wordlist>

/?something=1 équivaut à /?something=1&%s

Envoyer les paramètres via le corps

root@kitploit:~
x8 -u "https://example.com/" -X POST -w <wordlist>

Ou avec un corps personnalisé :

root@kitploit:~
x8 -u "https://example.com/" -X POST -b '{"x":{%s}}' -w <wordlist>

%s sera remplacé par différents paramètres comme {"x":{"a":"b3a1a", "b":"ce03a", ...}}

Vérifier plusieurs URLs en parallèle

root@kitploit:~
x8 -u "https://example.com/" "https://4rt.one/" -W0

Template personnalisé

root@kitploit:~
x8 -u "https://example.com/" --param-template "user[%k]=%v" -w <wordlist>

Maintenant chaque requête ressemblerait à /?user[a]=hg2s4&user[b]=a34fa&...

Encodage en pourcentage

Parfois, les paramètres doivent être encodés. C'est également possible :

root@kitploit:~
x8 -u "https://example.com/?path=..%2faction.php%3f%s%23" --encode -w <wordlist>
root@kitploit:~
GET /?path=..%2faction.php%3fWTDa8%3Da7UOS%26rTIDA%3DexMFp...%23 HTTP/1.1
Host: example.com

Recherche d'en-têtes

root@kitploit:~
x8 -u "https://example.com" --headers -w <wordlist>

Recherche de valeurs d'en-têtes

Vous pouvez également cibler des en-têtes spécifiques :

root@kitploit:~
x8 -u "https://example.com" --headers -H "Cookie: %s" -w <wordlist>

Site de test

Vous pouvez tester l'outil et le comparer à d'autres outils sur les URLs suivantes :

https://4rt.one/level1 (GET)

https://4rt.one/level3 (GET)

Utilisation

root@kitploit:~
USAGE:
    x8 [FLAGS] [OPTIONS]

FLAGS:
        --append                       Append to the output file instead of overwriting it.
    -B                                 Equal to -x http://localhost:8080
        --check-binary                 Check the body of responses with binary content types
        --disable-additional-checks    Private
        --disable-colors
        --disable-custom-parameters    Do not automatically check parameters like admin=true
        --disable-progress-bar
        --disable-trustdns             Can solve some dns related problems
        --encode                       Encodes query or body before making a request, i.e & -> %26, = -> %3D
                                       List of chars to encode: ", `, , <, >, &, #, ;, /, =, %
    -L, --follow-redirects             Follow redirections
        --force                        Force searching for parameters on pages > 25MB. Remove an error in case there's 1
                                       worker with --one-worker-per-host option.
    -h, --help                         Prints help information
        --headers                      Switch to header discovery mode.
                                       NOTE Content-Length and Host headers are automatically removed from the list
        --invert                       By default, parameters are sent within the body only in case PUT or POST methods
                                       are used.
                                       It's possible to overwrite this behavior by specifying the option
        --mimic-browser                Add default headers that browsers usually set.
        --one-worker-per-host          Multiple urls with the same host will be checked one after another,
                                       while urls with different hosts - are in parallel.
                                       Doesn't increase the number of workers
        --reflected-only               Disable page comparison and search for reflected parameters only.
        --remove-empty                 Skip writing to file outputs of url:method pairs without found parameters
        --replay-once                  If a replay proxy is specified, send all found parameters within one request.
        --strict                       Only report parameters that have changed the different parts of a page
        --test                         Prints request and response
    -V, --version                      Prints version information
        --verify                       Verify found parameters.

OPTIONS:
    -b, --body <body>                                       Example: --body '{"x":{%s}}'
                                                            Available variables: {{random}}
    -c <concurrency>                                        The number of concurrent requests per url [default: 1]
        --custom-parameters <custom-parameters>
            Check these parameters with non-random values like true/false yes/no
            (default is "admin bot captcha debug disable encryption env show sso test waf")
        --custom-values <custom-values>
            Values for custom parameters (default is "1 0 false off null true yes no")

    -t, --data-type <data-type>
            Available: urlencode, json
            Can be detected automatically if --body is specified (default is "urlencode")
    -d, --delay <Delay between requests in milliseconds>     [default: 0]
    -H <headers>                                            Example: -H 'one:one' 'two:two'
        --http <http>                                       HTTP version. Supported versions: --http 1.1, --http 2
    -j, --joiner <joiner>
            How to join parameter templates. Example: --joiner '&'
            Default: urlencoded - '&', json - ', ', header values - '; '
        --learn-requests <learn-requests-count>             Set the custom number of learn requests. [default: 9]
    -m, --max <max>
            Change the maximum number of parameters per request.
            (default is <= 256 for query, 64 for headers and 512 for body)
    -X, --method <methods>                                  Multiple values are supported: -X GET POST
    -o, --output <file>
    -O, --output-format <output-format>                     standart, json, url, request [default: standart]
    -P, --param-template <parameter-template>
            %k - key, %v - value. Example: --param-template 'user[%k]=%v'
            Default: urlencoded - <%k=%v>, json - <"%k":%v>, headers - <%k=%v>
    -p, --port <port>                                       Port to use with request file
        --progress-bar-len <progress-bar-len>                [default: 26]
        --proto <proto>                                     Protocol to use with request file (default is "https")
    -x, --proxy <proxy>
        --recursion-depth <recursion-depth>
            Check the same list of parameters with the found parameters until there are no new parameters to be found.
            Conflicts with --verify for now.
        --replay-proxy <replay-proxy>
            Request target with every found parameter via the replay proxy at the end.

    -r, --request <request>                                 The file with the raw http request
        --save-responses <save-responses>
            Save request and response to a directory when a parameter is found

        --split-by <split-by>
            Split the request into lines by the provided sequence. By default splits by \r, \n and \r\n

        --timeout <timeout>                                 HTTP request timeout in seconds. [default: 15]
    -u, --url <url>
            You can add a custom injection point with %s.
            Multiple urls and filenames are supported:
            -u filename.txt
            -u https://url1 http://url2
    -v, --verbose <verbose>                                 Verbose level 0/1/2 [default: 1]
    -w, --wordlist <wordlist>
            The file with parameters (leave empty to read from stdin) [default: ]

    -W, --workers <workers>
            The number of concurrent url checks.
            Use -W0 to run everything in parallel [default: 1]

Wordlists

Paramètres :

  • samlists
  • arjun

En-têtes :

  • Param Miner

Intégration Burp Suite

L'intégration avec Burp Suite se fait via l'extension send to.

Configuration

  1. Lancez Burp Suite et allez dans l'onglet 'Extender'.
  2. Trouvez et installez l'extension 'Custom Send To' depuis le BApp Store.
  3. Ouvrez l'onglet 'Send to' et cliquez sur le bouton 'Add' pour configurer l'extension.

Donnez un nom à l'entrée et insérez la ligne suivante dans la commande :

root@kitploit:~
/path/to/x8 --progress-bar-len 20 -c 3 -r %R -w /path/to/wordlist --proto %T --port %P

Vous pouvez également ajouter vos arguments fréquemment utilisés comme --output-format, --replay-proxy, --recursion-depth, etc.

NOTE si la barre de progression ne fonctionne pas correctement — essayez de réduire la valeur de --progress-bar-len.

Passez de "Run in background" à "Run in terminal".

image

Si vous rencontrez des problèmes de rendu de police dans le terminal, vous pouvez ajuster les options xterm dans Send to Miscellaneous Options. Remplacez simplement le contenu existant par xterm -rv -fa 'Monospace' -fs 10 -hold -e %C, ou remplacez xterm par l'émulateur de terminal de votre choix.

Vous pouvez maintenant aller dans l'onglet proxy/repeater et envoyer la requête à l'outil :

image

Dans la boîte de dialogue suivante, vous pouvez modifier la commande et l'exécuter dans une nouvelle fenêtre de terminal.

image

Après avoir exécuté la commande, une nouvelle fenêtre de terminal apparaîtra, affichant l'outil en cours d'exécution.

image

Installation

NOTE : À partir de la version 4.0.0, l'installation via cargo install utilise la branche crate au lieu de main. Cette branche inclut la bibliothèque reqwest originale qui effectue des normalisations HTTP et empêche l'envoi de requêtes invalides. Si vous souhaitez utiliser la version modifiée de reqwest sans ces limitations, je recommande d'installer via la page Releases ou de compiler les sources.

  • Docker

    • Installation
      root@kitploit:~
      git clone https://github.com/Sh1Yo/x8
      cd x8
      docker build -t x8 .
      
    • Utilisation
  • Linux

    • Depuis les releases
    • Depuis les dépôts blackarch (les dépôts doivent être installés)
      root@kitploit:~
      # pacman -Sy x8
      
    • Depuis le code source (rust doit être installé)
      root@kitploit:~
      git clone https://github.com/sh1yo/x8
      cd x8
      cargo build --release
      # déplacez le binaire dans $PATH pour pouvoir l'utiliser sans spécifier le chemin complet
      cp ./target/release/x8 /usr/local/bin 
      # si cela indique que /usr/local/bin n'existe pas, vous pouvez essayer
      # sudo cp ./target/release/x8 /usr/bin
      
    • Via cargo install
      root@kitploit:~
      cargo install x8
      
  • Mac

    • Depuis le code source (rust doit être installé)
      root@kitploit:~
      git clone https://github.com/sh1yo/x8
      cd x8
      cargo build --release
      # déplacez le binaire dans $PATH pour pouvoir l'utiliser sans spécifier le chemin complet
      cp ./target/release/x8 /usr/local/bin 
      
    • Via cargo install
      root@kitploit:~
      cargo install x8
      
Télécharger l’outil
  • Windows

    • Depuis les releases