
Exploit in Python per CVE-2023-32315 che mira ai server Openfire. Bypassa l'autenticazione del pannello di amministrazione tramite path traversal Unicode per creare un utente amministrativo, consentendo il caricamento di plugin malintenzionati e l'accesso a web shell.
La vulnerabilità CVE-2023-32315 colpisce i server Openfire, consentendo a un attaccante di bypassare il login del pannello amministrativo web senza credenziali valide. L'exploit aggiunge un utente amministrativo, permettendo all'attaccante di caricare un plugin malevolo e ottenere una shell web.
CVE-2023-32315 è una vulnerabilità in Openfire che permette di accedere ai JSP del wizard di configurazione iniziale (/setup/setup-s/...)
anche dopo il suo completamento, sfruttando una cattiva validazione dei percorsi mediante path traversal con codifica Unicode/"best-fit"
(%u002e%u002e, equivalente a ../), invece di caratteri letterali. Ciò consente di raggiungere user-groups.jsp e user-create.jsp senza autenticazione,
come se il server fosse appena stato installato, e creare un nuovo utente amministratore. Lo script verifica il risultato in due modi: controllando se
l'utente appare in user-summary.jsp, e verificando che le credenziali create funzionino su . Una volta dentro il pannello, il
passo successivo (fuori dallo scopo di questo script) sarebbe caricare un plugin malevolo per eseguire comandi arbitrari.
login.jspgit clone https://github.com/pulentoski/Explotacion-CVE-2023-32315-Openfire.git
cd Explotacion-CVE-2023-32315-Openfire
Non richiede dipendenze esterne — usa solo librerie standard di Python 3 (http.client, re, time, urllib.parse).
Lo script è interattivo, senza flag da riga di comando:
python3 exploit.py
Ti chiederà di scegliere una modalità:
[1] Singolo obiettivo → inserisci l'URL direttamente (es: http://127.0.0.1:9090)
[2] Lista di obiettivi → inserisci il percorso di un .txt con un URL per riga
L'utente/password che crea (pepe2/pepe2) è hardcodato all'inizio dello script — modificalo lì se necessario.
📄 Risultati: gli obiettivi confermati vengono salvati in exito.txt; se un obiettivo fallisce la verifica, l'HTML della risposta viene salvato in debug_<usuario>.html per revisione manuale.
("openfire") && icon_hash=="1211608009"
Questo script è pensato per ambienti controllati e audit autorizzati. L'autore non si assume alcuna responsabilità per un uso improprio.