Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
x8 — Suite di scoperta di parametri nascosti | Kitploit
Strumenti/GitHubGitHub/sh1yo/x8
RicognizioneAnalisi delle VulnerabilitàRaccolta InformazioniSicurezza Web
GitHubsh1yo/x8

x8

Suite di scoperta di parametri nascosti

Vedi Repository
2.1k1961 anno faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Twitter stars issues

Latest Version crates.io crates_downloads github_downloads

x8

Suite di scoperta di parametri nascosti scritta in Rust.

Lo strumento aiuta a identificare parametri nascosti che potrebbero potenzialmente essere vulnerabili o rivelare funzionalità interessanti che potrebbero sfuggire ad altri tester. La sua elevata precisione è ottenuta tramite confronto riga per riga delle pagine, confronto dei codici di risposta e riflessioni.

Documentazione

La documentazione che spiega ogni funzionalità è accessibile su https://sh1yo.art/x8docs/. Il sorgente della documentazione si trova in /docs.md.

Albero

  • Caratteristiche
  • Esempi
  • Sito di test
  • Utilizzo
  • Wordlist
  • Integrazione con Burp Suite
  • Installazione

Caratteristiche

  • Veloce.
  • Offre una configurazione flessibile delle richieste tramite l'uso di template e punti di iniezione.
  • Altamente scalabile, in grado di controllare migliaia di URL per esecuzione.
  • Fornisce una precisione maggiore rispetto a strumenti simili, specialmente in casi difficili.
  • In grado di scoprire parametri con valori non casuali, come admin=true.
  • Altamente configurabile con un'ampia gamma di opzioni personalizzabili.
  • Ottiene richieste quasi raw tramite modifica di librerie esterne.

Esempi

Controlla parametri nella query

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

Con parametri predefiniti:

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

/?something=1 equivale a /?something=1&%s

Invia parametri tramite body

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

Oppure con un body personalizzato:

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

%s sarà sostituito con diversi parametri come {"x":{"a":"b3a1a", "b":"ce03a", ...}}

Controlla più URL in parallelo

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

Template personalizzato

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

Ora ogni richiesta sarà simile a /?user[a]=hg2s4&user[b]=a34fa&...

Percent encoding

A volte i parametri devono essere codificati. È anche possibile:

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

Ricerca di header

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

Ricerca di valori di header

Puoi anche prendere di mira singoli header:

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

Sito di test

Puoi testare lo strumento e confrontarlo con altri strumenti sui seguenti URL:

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

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

Utilizzo

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]

Wordlist

Parametri:

  • samlists
  • arjun

Header:

  • Param Miner

Integrazione con Burp Suite

L'integrazione con Burp Suite è realizzata tramite l'estensione send to.

Configurazione

  1. Avvia Burp Suite e vai alla scheda 'Extender'.
  2. Trova e installa l'estensione 'Custom Send To' dal BApp Store.
  3. Apri la scheda 'Send to' e clicca sul pulsante 'Add' per configurare l'estensione.

Dai un nome alla voce e inserisci la seguente riga nel comando:

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

Puoi anche aggiungere i tuoi argomenti di uso frequente come --output-format, --replay-proxy, --recursion-depth, ..

NOTA se la barra di avanzamento non funziona correttamente --- prova a ridurre il valore di --progress-bar-len.

Passa da Esegui in background a Esegui in terminale.

image

Se incontri problemi con il rendering dei font nel terminale, puoi regolare le opzioni di xterm in Send to Miscellaneous Options. Basta sostituire il contenuto esistente con xterm -rv -fa 'Monospace' -fs 10 -hold -e %C, o sostituire xterm con il tuo emulatore di terminale preferito.

Ora puoi andare alla scheda proxy/repeater e inviare la richiesta allo strumento:

image

Nella finestra di dialogo successiva, puoi modificare il comando ed eseguirlo in una nuova finestra del terminale.

image

Dopo aver eseguito il comando, apparirà una nuova finestra del terminale, che mostrerà lo strumento in esecuzione.

image

Installazione

NOTA: A partire dalla v4.0.0, l'installazione tramite cargo install utilizza il branch crate invece di main. Questo branch include la libreria reqwest originale che esegue normalizzazioni HTTP e impedisce l'invio di richieste non valide. Se desideri utilizzare la versione modificata di reqwest senza queste limitazioni, ti consiglio di installare tramite la pagina delle Release o compilando i sorgenti.

  • Docker

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

    • dalle release
    • dai repository blackarch (i repository devono essere installati)
      root@kitploit:~
      # pacman -Sy x8
      
    • dal codice sorgente (rust deve essere installato)
      root@kitploit:~
      git clone https://github.com/sh1yo/x8
      cd x8
      cargo build --release
      # sposta il binario in $PATH per poterlo usare senza specificare il percorso completo
      cp ./target/release/x8 /usr/local/bin 
      # se dice che /usr/local/bin non esiste puoi provare
      # sudo cp ./target/release/x8 /usr/bin
      
    • tramite cargo install
      root@kitploit:~
      cargo install x8
      
  • Mac

    • dal codice sorgente (rust deve essere installato)
      root@kitploit:~
      git clone https://github.com/sh1yo/x8
      cd x8
      cargo build --release
      # sposta il binario in $PATH per poterlo usare senza specificare il percorso completo
      cp ./target/release/x8 /usr/local/bin 
      
    • tramite cargo install
      root@kitploit:~
      cargo install x8
      
Scarica lo strumento
  • Windows

    • dalle release