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
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
35há 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:

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:

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:

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:

[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