Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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
1954925há 4 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:

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

pip install explo

Instalar a partir do código fonte

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

Uso

explo [--verbose|-v] testcase.yaml
explo [--verbose|-v] examples/*.yaml

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

$ explo examples/SQLI_simple_testphp.vulnweb.com.yaml

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

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.

$ 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:

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:

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:

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:

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