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
CVE-2024-40094 — Este script explora a vulnerabilidade CVE-2024-40094 em graphql-java | Kitploit
Ferramentas/GitHubGitHub/kabiri-labs/cve-2024-40094
Análise de VulnerabilidadesExploraçãoTestes de Segurança de APIsSegurança WebTestes de Penetração
GitHubkabiri-labs/cve-2024-40094

CVE-2024-40094

Este script explora a vulnerabilidade CVE-2024-40094 em graphql-java

Ver Repositório
31há 1 anoAinda não revisado

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

CVE-2024-40094 ENF (ExecutableNormalizedFields) Exploit de Negação de Serviço

Este script explora a vulnerabilidade CVE-2024-40094 no graphql-java ao acionar uma negação de serviço baseada em ExecutableNormalizedFields (ENF). Ele constrói uma consulta de introspecção GraphQL maliciosa com aliases profundamente aninhados, projetada para sobrecarregar o servidor vulnerável.

Visão Geral

O script utiliza requisições assíncronas para enviar uma série de consultas de introspecção de grande porte para um servidor GraphQL de destino. As consultas são enviadas como payloads JSON e são estruturadas para explorar uma vulnerabilidade específica na forma como os servidores GraphQL lidam com consultas de introspecção profundamente aninhadas. Ao disparar um grande número dessas consultas em paralelo, o script visa causar uma condição de negação de serviço em sistemas vulneráveis.

Principais Recursos:

  • Execução Assíncrona: Usa asyncio e aiohttp para requisições eficientes e não bloqueantes.
  • Requisições Paralelas: Lança múltiplos jobs (corrotinas) para simular requisições simultâneas.
  • Parâmetros Personalizáveis: Diversas opções de configuração para controlar o número de requisições, o atraso e o máximo de requisições por job.
  • Registro de Logs: Opcionalmente registra resultados de requisições e erros em um arquivo para análise.
  • Alvos Vulneráveis

    Este exploit tem como alvo servidores que executam uma versão vulnerável do graphql-java, especificamente aqueles que não lidam corretamente com consultas de introspecção profundamente aninhadas.

    Sistemas Afetados:

    • Servidores graphql-java (versões vulneráveis ao CVE-2024-40094)

    Instalação

    Para executar o exploit, você precisa de Python 3.7+ com as seguintes dependências:

    • aiohttp para requisições HTTP assíncronas
    • urllib3 para manipulação de SSL (desativa avisos de certificado autoassinado)

    Instalando as Dependências:

    Você pode instalar as dependências necessárias usando o pip:

    root@kitploit:~
    pip install aiohttp urllib3
    

    Configuração

    Todos os parâmetros principais podem ser fornecidos em tempo de execução por meio de opções de linha de comando:

    • URL (--url): A URL da API GraphQL de destino.
    • HEADERS (--header): Personalize o token de autorização e outros cabeçalhos conforme necessário. As requisições enviam corpos JSON, portanto inclua Content-Type: application/json. A opção pode ser repetida.
    • JOB_COUNT (--job-count): O número de jobs (corrotinas) concorrentes a serem iniciados. O padrão é 50.
    • CONCURRENCY_LIMIT (--concurrency-limit): Número máximo de requisições simultâneas em todos os jobs. Deve ser ≥ JOB_COUNT. O padrão é o número de jobs; aumente com cautela.
    • ALIAS_COUNT (--alias-count): O número de blocos de alias na consulta. Isso controla a profundidade e a carga da consulta.
    • REQUEST_DELAY (--delay): O atraso entre as requisições em segundos. Defina como 0 para sem atraso ou ajuste conforme necessário para evitar sobrecarregar o alvo rapidamente demais.
    • MAX_REQUESTS_PER_JOB (--max-requests): O número máximo de requisições que cada job enviará. Use 0 para requisições ilimitadas.
    • LOG_FILE: Opcional. Especifique um caminho de arquivo para registrar resultados de requisições e erros.

    Uso

    Clone o repositório para sua máquina local:

    root@kitploit:~
    git clone https://github.com/kabiri-labs/CVE-2024-40094.git
    cd CVE-2024-40094
    

    Execute o script, fornecendo as opções desejadas na linha de comando:

    root@kitploit:~
    python CVE-2024-40094.py \
      --url https://api.example.com/graphql \
      --header "Authorization: Bearer <token>" \
      --header "Host: api.example.com" \
      --job-count 50 \
      --alias-count 500 \
      --concurrency-limit 50
    

    O script começará a enviar requisições ao servidor de destino. Você verá o status de cada requisição impresso no console, e os logs serão gravados no arquivo de log especificado.

    Exemplo de Saída:

    root@kitploit:~
    [Worker-0] Status: 200, Len: 1000, Time: 0.35s, Snippet: {"data":{"__schema":{"types":[...]}...
    [Worker-1] Status: 200, Len: 1050, Time: 0.37s, Snippet: {"data":{"__schema":{"types":[...]}...
    

    Avisos

    Não Use em Alvos Não Autorizados: Este script é destinado à pesquisa de segurança e testes em ambientes controlados. Não o use em servidores de produção ou sistemas sem autorização explícita.

    Risco de Negação de Serviço: Executar este script contra um servidor vulnerável pode fazer com que ele fique sem resposta ou caia. Use com cautela.

    Licença

    Este script é licenciado sob a Licença MIT. Consulte o arquivo LICENSE para mais detalhes.

    Baixar ferramenta