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
explo — Formato de teste de vulnerabilidade web legível por humanos e máquinas | Kitploit
Ferramentas/GitHubGitHub/telekom-security/explo
Análise de VulnerabilidadesScripting e AutomaçãoExploração de Aplicações WebSegurança WebTestes de PenetraçãoArchived
GitHubtelekom-security/explo

explo

Formato de teste de vulnerabilidade web legível por humanos e máquinas

Ver Repositório
1954910há 3 anosRevisado 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

explo

screenshot

explo é uma ferramenta simples para descrever problemas de segurança web em um formato legível por humanos e máquinas. Ao definir um fluxo de trabalho de requisição/condição, o explo é capaz de explorar problemas de segurança sem a necessidade de escrever um script. Isso permite compartilhar vulnerabilidades complexas em um formato simples, legível e executável.

Exemplo para extrair um token csrf e usá-lo em um formulário:

root@kitploit:~
name: get_csrf
description: extract csrf token
module: http
parameter:
    url: http://example.com/contact
    method: GET
    header:
        user-agent: Mozilla/5.0
    extract:
        csrf: [CSS, "#csrf"]
---
name: exploit
description: exploits sql injection vulnerability with valid csrf token
module: http
parameter:
    url: http://example.com/contact
    method: POST
    body:
        csrf: "{{get_csrf.extracted.csrf}}"
        username: "' SQL INJECTION"
    find: You have an error in your SQL syntax

Sumário

  • Instalação
  • Uso
  • Módulos
    • HTTP (Básico)
    • HTTP (Cabeçalho)
    • SQLI (Cego)
    • Metadados
  • Neste arquivo de definição de exemplo, o problema de segurança é testado executando duas etapas que são executadas de cima para baixo. A última etapa retorna sucesso ou falha, dependendo da string 'You have an error in your SQL syntax' ser encontrada.

    Instalação

    Instalar via PyPI

    root@kitploit:~
    pip install explo
    

    Instalar a partir do código fonte

    root@kitploit:~
    git clone https://github.com/dtag-dev-sec/explo
    cd explo
    python setup.py install
    

    Uso

    root@kitploit:~
    explo [--verbose|-v] testcase.yaml
    explo [--verbose|-v] examples/*.yaml
    

    Há alguns casos de teste de exemplo na pasta examples/.

    root@kitploit:~
    $ explo examples/SQLI_simple_testphp.vulnweb.com.yaml
    

    Você também pode incluir explo como uma biblioteca Python:

    root@kitploit:~
    from explo.core import from_content as explo_from_content
    from explo.core import ExploException, ProxyException
    
    def save_log(msg):
        print(msg)
    
    try:
        result = explo_from_content(explo_yaml_file, save_log)
    except ExploException as err:
        print(err)
    

    Opções

    Um proxy http/https e um timeout para requisições podem ser definidos via variáveis de ambiente. O timeout padrão é de 15 segundos.

    root@kitploit:~
    $ export http_proxy=http://proxy:8089
    $ export https_proxy=https://proxy:8090
    $ export timeout=10
    $ explo ...
    

    Módulos

    Módulos podem ser adicionados para melhorar a funcionalidade e classes de problemas de segurança.

    http (básico)

    O módulo http permite fazer uma requisição http, extrair conteúdo e pesquisar/verificar conteúdo.

    Os seguintes dados são disponibilizados para os próximos passos:

    • o corpo da resposta http: stepname.response.content
    • os cookies da resposta http: stepname.response.cookies
    • conteúdo extraído: response.extracted.variable_name

    Se um parâmetro find_regex for definido, uma correspondência de expressão regular é executada no corpo da resposta. Se falhar, este módulo retorna uma falha e interrompe a execução do fluxo de trabalho atual (e todas as etapas).

    Ao extrair por expressões regulares, use o grupo de captura extract para marcar o valor a ser extraído (veja abaixo um exemplo).

    Para referenciar cookies, faça referência ao nome da etapa anterior de onde os cookies devem ser obtidos (cookies: the_other_step.response.cookies).

    Exemplos de parâmetros:

    root@kitploit:~
    parameter:
        url: http://example.com
        method: GET
        allow_redirects: True
        headers:
            User-Agent: explo
            Content-Type: abc
        cookies: stepname.response.cookies
        body:
            key: value
        find: search for string
        find_regex: search for (reg|ular)expression
        find_in_headers: searchstring in headers
        expect_response_code: 200
        extract:
            variable1: [CSS, '#csrf']
            variable2: [REGEX, '<input(.*?)value="(?P<extract>.*?)"']
    

    http_header

    O módulo http_header permite verificar se uma resposta não possui um conjunto específico de cabeçalhos (e valores). Todos os outros parâmetros são idênticos ao módulo http.

    Os seguintes dados são disponibilizados para outros módulos:

    • o corpo da resposta http: stepname.response.content
    • os cookies da resposta http: stepname.response.cookies

    Exemplos de parâmetros:

    root@kitploit:~
    parameter:
        url: http://example.com
        method: GET
        allow_redirects: True
        headers:
            User-Agent: explo
            Content-Type: abc
        body:
            key: value
        headers_required:
            X-XSS-Protection: 1
            Server: .               # all values are valid
    

    sqli_blind

    O módulo sqli_blind é capaz de identificar injeções SQL cegas baseadas em tempo.

    Os seguintes dados são disponibilizados para outros módulos:

    • o corpo da resposta http: stepname.response.content
    • os cookies da resposta http: stepname.response.cookies

    Exemplos de parâmetros:

    root@kitploit:~
    parameter:
        url: http://example.com/vulnerable.php?id=1' waitfor delay '00:00:5'--
        method: GET
        delay_seconds: 5
    

    Se o limite de 5 segundos (delay_seconds) for excedido, a verificação retorna verdadeiro (resultando em sucesso).

    metadados

    O bloco de metadados é um bloco especial que pode ser adicionado como o primeiro bloco em um arquivo .yaml para adicionar metadados a uma vulnerabilidade para processamento posterior. Isso se torna útil quando explo é usado como uma biblioteca e os metadados de cada descrição de vulnerabilidade podem ser lidos com meta_from_content(content). Este módulo não precisa de um nome ou descrição.

    Exemplos:

    root@kitploit:~
    module: metadata
    parameter:
        cvss: 8.9
        author: Robin Verton
    ---
    name: login
    description: login with test credentials
    module: http
    parameter:
        url: http://testphp.vulnweb.com/userinfo.php
        method: POST
        body:
            uname: test
            pass: test
    
    Baixar ferramenta