Royal Elementor Addons ≤ 1.3.78 – Caricamento Arbitrario di File Non Autenticato (RCE)
📌 Panoramica
Questo repository contiene un exploit proof-of-concept modificato per il plugin WordPress
Royal Elementor Addons and Templates (versioni ≤ 1.3.78).
La vulnerabilità permette il caricamento arbitrario di file non autenticato, che può essere abusato per caricare un file PHP e ottenere Esecuzione Remota di Codice (RCE).
- CVE: CVE-2023-5360
- Tipo di Vulnerabilità: Caricamento File Non Autenticato → RCE
- Plugin Affetto: Royal Elementor Addons and Templates
- Versione Corretta: 1.3.79+
🔧 Note di Modifica
Questa versione è una variante completamente riscritta dell'exploit originale con le seguenti modifiche:
- ✅ Utilizza SOLO la libreria standard di Python
- ❌ Nessuna dipendenza di terze parti (
requests, rich, ecc.)
- 🔄 Sostituito
requests → urllib.request
- 🔄 Sostituito output
rich → print() nativo
- 🔐 Verifica SSL disabilitata tramite modulo
ssl
- 🧪 Inteso per laboratori CTF, ricerca sulla sicurezza e scopi didattici
Tutta la logica di sfruttamento originale rimane intatta.
🧠 Come Funziona la Vulnerabilità
Il plugin espone un endpoint AJAX:
Questo endpoint:
- Accetta il caricamento di file
- Si basa su un nonce lato client
- Non riesce a convalidare correttamente le estensioni dei file
Abusando del parametro allowed_file_types e utilizzando un nome file modificato (es. ph$p), è possibile caricare un file PHP che viene eseguito sul server.
📦 Caratteristiche
- Estrazione automatica del nonce dall'oggetto JavaScript
WprConfig
- Supporta il caricamento di shell PHP personalizzata
- Genera una web shell PHP predefinita se non ne viene fornita una
- Restituisce l'URL della shell caricata in caso di successo
- Funziona sia con target HTTP che HTTPS
🛠 Requisiti
- Python 3.7+
- Target in esecuzione:
- WordPress
- Royal Elementor Addons ≤ 1.3.78
Nessuna libreria Python aggiuntiva richiesta.
🚀 Utilizzo
Utilizzo base (shell generata automaticamente)
python3 exploit.py -u https://target-site.com/
Carica una shell PHP personalizzata
python3 exploit.py -u https://target-site.com/ -f shell.php
Esempio di output riuscito
[+] Shell uploaded successfully: https://target-site.com/wp-content/uploads/royal-addons/poc.ph$p
[>] Access it with: ?cmd=id
🧪 Ambiente di Test
- WordPress 6.3.1
- Royal Elementor Addons 1.3.78
- Ubuntu 22.04
- Apache2
- PHP 8.1
⚠️ Dichiarazione di Non Responsabilità
Questo codice è fornito esclusivamente per scopi educativi, ricerca sulla sicurezza e test autorizzati.
- ❌ NON utilizzare contro sistemi di cui non si possiede o non si ha esplicita autorizzazione a testare
- ❌ L'uso non autorizzato potrebbe essere illegale
- ✅ L'autore non è responsabile per l'uso improprio
👤 Crediti
Exploit Originale
Versione Modificata
- Modificato da: Laviru Dilshan Jr.
- Scopo: CTF e Ricerca sulla Sicurezza
- Github: https://github.com/LaviruDilshan
- Modifiche: Riscrittura solo con libreria standard
📚 Riferimenti