Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
x8 — Suite de descubrimiento de parámetros ocultos | Kitploit
Herramientas/GitHubGitHub/sh1yo/x8
ReconocimientoAnálisis de VulnerabilidadesRecopilación de InformaciónSeguridad Web
GitHubsh1yo/x8

x8

Suite de descubrimiento de parámetros ocultos

Ver Repositorio
2.1k196hace 1 añoRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Twitter stars issues

Latest Version crates.io crates_downloads github_downloads

x8

Suite de descubrimiento de parámetros ocultos escrita en Rust.

La herramienta ayuda a identificar parámetros ocultos que podrían ser vulnerables o revelar funcionalidades interesantes que otros evaluadores podrían pasar por alto. Su alta precisión se logra mediante la comparación línea por línea de páginas, la comparación de códigos de respuesta y las reflexiones.

Documentación

La documentación que explica cada característica se puede acceder en https://sh1yo.art/x8docs/. La fuente de la documentación se encuentra en /docs.md.

Árbol

  • Features
  • Examples
  • Test site
  • Usage
  • Wordlists
  • Burp Suite integration
  • Installation

Features

  • Rápido.
  • Ofrece una configuración flexible de solicitudes mediante el uso de plantillas y puntos de inyección.
  • Altamente escalable, capaz de verificar miles de URL por ejecución.
  • Proporciona una mayor precisión en comparación con herramientas similares, especialmente en casos difíciles.
  • Capaz de descubrir parámetros con valores no aleatorios, como admin=true.
  • Altamente configurable con una amplia gama de opciones personalizables.
  • Logra solicitudes casi en bruto mediante la modificación de bibliotecas externas.

Examples

Check parameters in query

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

With default parameters:

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

/?something=1 es igual a /?something=1&%s

Send parameters via body

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

Or with a custom body:

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

%s será reemplazado con diferentes parámetros como {"x":{"a":"b3a1a", "b":"ce03a", ...}}

Check multiple urls in paralell

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

Custom template

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

Ahora cada solicitud se vería como /?user[a]=hg2s4&user[b]=a34fa&...

Percent encoding

A veces los parámetros deben ser codificados. También es posible:

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

Search for headers

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

Search for header values

También puedes apuntar a cabeceras individuales:

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

Test site

Puedes probar la herramienta y compararla con otras herramientas en las siguientes URL:

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

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

Usage

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

Parámetros:

  • samlists
  • arjun

Cabeceras:

  • Param Miner

Burp Suite integration

La integración con Burp Suite se realiza mediante la extensión send to.

Setting up

  1. Inicia Burp Suite y ve a la pestaña 'Extender'.
  2. Localiza e instala la extensión 'Custom Send To' desde BApp Store.
  3. Abre la pestaña 'Send to' y haz clic en el botón 'Add' para configurar la extensión.

Dale un nombre a la entrada e inserta la siguiente línea en el comando:

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

También puedes añadir tus argumentos usados frecuentemente como --output-format, --replay-proxy, --recursion-depth, ...

NOTA si la barra de progreso no funciona correctamente, reduce el valor de --progress-bar-len.

Cambia de "Run in background" a "Run in terminal".

image

Si encuentras problemas con el renderizado de fuentes en la terminal, puedes ajustar las opciones de xterm en Send to Miscellaneous Options. Simplemente reemplaza el contenido existente con xterm -rv -fa 'Monospace' -fs 10 -hold -e %C, o sustituye xterm por tu emulador de terminal preferido.

Ahora puedes ir a la pestaña proxy/repeater y enviar la solicitud a la herramienta:

image

En el siguiente diálogo, puedes modificar el comando y ejecutarlo en una nueva ventana de terminal.

image

Después de ejecutar el comando, aparecerá una nueva ventana de terminal mostrando la herramienta en ejecución.

image

Installation

NOTA: A partir de v4.0.0, instalar mediante cargo install usa la rama crate en lugar de main. Esta rama incluye la biblioteca original reqwest que realiza normalizaciones HTTP y evita enviar solicitudes inválidas. Si deseas usar la versión modificada de reqwest sin estas limitaciones, recomiendo instalar desde la página de Releases o compilar los fuentes.

  • Docker

    • Instalación
      root@kitploit:~
      git clone https://github.com/Sh1Yo/x8
      cd x8
      docker build -t x8 .
      
    • uso
  • Linux

    • desde releases
    • desde los repositorios de BlackArch (los repositorios deben estar instalados)
      root@kitploit:~
      # pacman -Sy x8
      
    • desde código fuente (se debe tener Rust instalado)
      root@kitploit:~
      git clone https://github.com/sh1yo/x8
      cd x8
      cargo build --release
      # Mueve el binario a $PATH para usarlo sin especificar la ruta completa
      cp ./target/release/x8 /usr/local/bin
      # si dice que /usr/local/bin no existe, puedes intentar
      # sudo cp ./target/release/x8 /usr/bin
      
    • mediante cargo install
      root@kitploit:~
      cargo install x8
      
  • Mac

    • desde código fuente (se debe tener Rust instalado)
      root@kitploit:~
      git clone https://github.com/sh1yo/x8
      cd x8
      cargo build --release
      # Mueve el binario a $PATH para usarlo sin especificar la ruta completa
      cp ./target/release/x8 /usr/local/bin
      
    • mediante cargo install
      root@kitploit:~
      cargo install x8
      
Descargar herramienta

Windows

  • desde releases