
Questo PoC Python sfrutta CVE-2024-46987, un bug di Path Traversal in Camaleon CMS 2.8.0 < 2.8.2 (funziona su 2.9.0). Permette agli utenti autenticati di leggere file sensibili del server tramite MediaController. Inteso solo per audit di sicurezza autorizzati e ricerca educativa.
Questo repository contiene uno script Proof of Concept (PoC) per CVE-2024-46987, che consente la lettura arbitraria di file (LFI / Path Traversal) su Camaleon CMS.
È stata identificata una vulnerabilità di Path Traversal nelle versioni di Camaleon CMS dalla 2.8.0 alla < 2.8.2 (funziona stranamente anche sulla 2.9.0). Si trova nel metodo download_private_file del MediaController.
Questa vulnerabilità consente a un utente autenticato di scaricare file arbitrari dal server manipolando il parametro file. Se l'applicazione viene eseguita con privilegi elevati o se i file sensibili sono accessibili all'utente di sistema che esegue il CMS, ciò può portare a una fuga di informazioni critiche (file di configurazione, codice sorgente, ecc.).
Dettagli Tecnici:
requestsPuoi installare le dipendenze con il seguente comando:
pip install requests
Lo script richiede un account utente valido sul CMS di destinazione per autenticarsi e recuperare il token CSRF necessario per lo sfruttamento.
python3 CVE-2024-46987.py -u <URL> -l <USERNAME> -p <PASSWORD> <FILE_TO_READ>
Leggi il file /etc/passwd:
python3 CVE-2024-46987.py -u http://target-cms.local -l admin -p password123 /etc/passwd
Usa la modalità verbose:
python3 CVE-2024-46987.py -u http://target-cms.local -l user -p pass -v /etc/hosts
Questo codice è fornito solo a scopi educativi e di ricerca sulla sicurezza. Utilizzare questo script contro target senza autorizzazione preventiva è illegale. L'autore declina ogni responsabilità per un uso improprio.
Assicurati sempre di avere il permesso esplicito prima di condurre test di penetrazione.
| Argomento | Descrizione |
|---|
-u, --url | URL di base del sito di destinazione (es. http://example.com). |
-l, --user | Nome utente per l'autenticazione. |
-p, --password | Password per l'autenticazione. |
--path | (Opzionale) Percorso dell'endpoint vulnerabile. Default: admin/media/download_private_file. |
-v, --verbose | Abilita la modalità verbose per vedere i passaggi di connessione. |
file | Il percorso del file da leggere sul server (es. /etc/passwd). |