Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
x8 — Suite de descoberta de parâmetros ocultos | Kitploit
Ferramentas/GitHubGitHub/sh1yo/x8
ReconhecimentoAnálise de VulnerabilidadesColeta de InformaçõesSegurança Web
GitHubsh1yo/x8

x8

Suite de descoberta de parâmetros ocultos

Ver Repositório
2.1k196há 1 anoRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Twitter stars issues

Latest Version crates.io crates_downloads github_downloads

x8

Suite de descoberta de parâmetros ocultos escrita em Rust.

A ferramenta ajuda a identificar parâmetros ocultos que podem ser vulneráveis ou revelar funcionalidades interessantes que outros testadores podem não perceber. Sua alta precisão é alcançada através da comparação linha por linha das páginas, comparação de códigos de resposta e reflexões.

Documentação

A documentação que explica cada funcionalidade pode ser acessada em https://sh1yo.art/x8docs/. O código-fonte da documentação está em /docs.md.

Árvore

  • Funcionalidades
  • Exemplos
  • Site de teste
  • Uso
  • Wordlists
  • Integração com Burp Suite
  • Instalação

Funcionalidades

  • Rápido.
  • Oferece configuração flexível de requisições através do uso de templates e pontos de injeção.
  • Altamente escalável, capaz de verificar milhares de URLs por execução.
  • Proporciona maior precisão em comparação com ferramentas similares, especialmente em casos difíceis.
  • Capaz de descobrir parâmetros com valores não aleatórios, como admin=true.
  • Altamente configurável com uma ampla gama de opções personalizáveis.
  • Atinge requisições quase puras através de modificação em biblioteca externa.

Exemplos

Verificar parâmetros na query

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

Com parâmetros padrão:

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

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

Enviar parâmetros via corpo

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

Ou com um corpo personalizado:

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

%s será substituído por diferentes parâmetros, como {"x":{"a":"b3a1a", "b":"ce03a", ...}}

Verificar múltiplas URLs em paralelo

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

Template personalizado

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

Agora cada requisição seria algo como /?user[a]=hg2s4&user[b]=a34fa&...

Codificação percentual (Percent encoding)

Às vezes os parâmetros precisam ser codificados. Isso também é possível:

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

Buscar por cabeçalhos

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

Buscar por valores de cabeçalho

Você também pode mirar cabeçalhos individuais:

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

Site de teste

Você pode testar a ferramenta e compará-la com outras ferramentas nas seguintes URLs:

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

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

Uso

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

Cabeçalhos:

  • Param Miner

Integração com Burp Suite

A integração com o Burp Suite é feita através da extensão send to.

Configuração

  1. Inicie o Burp Suite e vá para a aba 'Extender'.
  2. Localize e instale a extensão 'Custom Send To' na BApp Store.
  3. Abra a aba 'Send to' e clique no botão 'Add' para configurar a extensão.

Dê um nome à entrada e insira a seguinte linha no comando:

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

Você também pode adicionar seus argumentos frequentemente usados, como --output-format, --replay-proxy, --recursion-depth, ...

NOTA se a barra de progresso não funcionar corretamente — tente reduzir o valor de --progress-bar-len.

Altere de Run in background para Run in terminal.

image

Se você tiver problemas com a renderização de fontes no terminal, pode ajustar as opções do xterm em Send to Miscellaneous Options. Basta substituir o conteúdo existente por xterm -rv -fa 'Monospace' -fs 10 -hold -e %C, ou substituir xterm pelo seu emulador de terminal preferido.

Agora você pode ir para a aba proxy/repeater e enviar a requisição para a ferramenta:

image

Na próxima janela, você pode modificar o comando e executá-lo em uma nova janela de terminal.

image

Após executar o comando, uma nova janela de terminal aparecerá exibindo a ferramenta em execução.

image

Instalação

NOTA: A partir da v4.0.0, instalar via cargo install usa o branch crate em vez de main. Esse branch inclui a biblioteca reqwest original que realiza normalizações HTTP e impede o envio de requisições inválidas. Se você quiser usar a versão modificada do reqwest sem essas limitações, recomendo instalar pela página de Releases ou compilar a partir dos fontes.

  • Docker

    • Instalação
      root@kitploit:~
      git clone https://github.com/Sh1Yo/x8
      cd x8
      docker build -t x8 .
      
    • Uso
  • Linux

    • A partir de releases
    • A partir dos repositórios do BlackArch (os repositórios devem estar instalados)
      root@kitploit:~
      # pacman -Sy x8
      
    • A partir do código-fonte (Rust deve estar instalado)
      root@kitploit:~
      git clone https://github.com/sh1yo/x8
      cd x8
      cargo build --release
      # mova o binário para o $PATH para poder usá-lo sem especificar o caminho completo
      cp ./target/release/x8 /usr/local/bin
      # se disser que /usr/local/bin não existe, tente
      # sudo cp ./target/release/x8 /usr/bin
      
    • Via cargo install
      root@kitploit:~
      cargo install x8
      
  • Mac

    • A partir do código-fonte (Rust deve estar instalado)
      root@kitploit:~
      git clone https://github.com/sh1yo/x8
      cd x8
      cargo build --release
      # mova o binário para o $PATH para poder usá-lo sem especificar o caminho completo
      cp ./target/release/x8 /usr/local/bin
      
    • Via cargo install
      root@kitploit:~
      cargo install x8
      
Baixar ferramenta
  • Windows

    • A partir de releases