Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2024-34832 — CVE-2024-34832 | Kitploit
Strumenti/GitHubGitHub/julio-cfa/cve-2024-34832
Analisi delle VulnerabilitàAnalisi del CodiceExploitSfruttamento di Applicazioni WebPenetration TestingApprendimento e Formazione
GitHubjulio-cfa/cve-2024-34832

CVE-2024-34832

CVE-2024-34832

Vedi Repository
2 anni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CubeCart - Directory Traversal può portare a RCE (CVE-2024-34832)

TL;DR

Nel pannello di amministrazione, parametri come _g e node vengono usati per costruire il percorso per includere file .inc.php ed eseguire codice PHP. Un utente malintenzionato con la possibilità di caricare file .inc.php in qualsiasi punto del server può sfruttare una vulnerabilità di path traversal per includerli ed eseguire codice malevolo.

Prerequisiti

  • Accesso al pannello di amministrazione (qualsiasi privilegio dovrebbe funzionare, inclusa l'assenza totale di privilegi);
  • Possibilità di caricare file con estensione .inc.php in qualsiasi punto del server (ad es. accesso FTP, un'altra applicazione sullo stesso server che consenta il caricamento di file, nuove vulnerabilità nelle funzionalità di upload di CubeCart, ecc.).

Sfruttamento della vulnerabilità

Diciamo che c'è un server FTP in esecuzione sullo stesso server dove è installato CubeCart e un utente è in grado di caricare file in una posizione specifica. Nel nostro caso, diciamo che qualsiasi cosa caricata via FTP finirà in /opt/FTP_Example.

Supponiamo anche che questo utente abbia caricato un file chiamato path_traversal.inc.php via FTP e che il suo contenuto sia il seguente codice PHP <?php system('whoami;id;hostname;ls') ?>.

image

All'inizio non c'è alcun pericolo nel caricare un file del genere, poiché non verrà eseguito né si trova nella directory di un server web - come Apache - che potrebbe eseguirlo.

Questo stesso utente può avere privilegi molto limitati o addirittura nessun privilegio sul pannello di amministrazione di CubeCart, ma può comunque accedervi. Ad esempio, abbiamo creato un utente chiamato julio che non ha alcun privilegio.

image

Dopo aver effettuato l'accesso all'applicazione come julio, abbiamo iniziato a testare i parametri _g e node. Abbiamo notato che questi parametri aggiungono automaticamente .inc.php alla fine di un percorso e sembrano usare include() su quel file per eseguire codice PHP.

Come mostrato di seguito, quando il file non viene trovato, viene restituito il seguente messaggio di errore.

image

Abbiamo iniziato a chiederci se fosse possibile attraversare il percorso e raggiungere un file .inc.php in una directory da qualche altra parte del server, come la nostra cartella FTP.

Poiché avevamo un file chiamato path_traversal.inc.php nella cartella /opt/FTP_Example, abbiamo provato ad aggiungere molti /../../../ finché non abbiamo raggiunto la directory root, poi abbiamo aggiunto /opt/FTP_Example/path_traversal e l'applicazione ha aggiunto automaticamente .inc.php alla fine del percorso.

Come mostrato di seguito, il codice è stato eseguito con successo.

image

Conclusione

Abbiamo notato che il parametro node effettivamente esegue l'escaping delle barre (/), ma _g non lo fa. Tutti i parametri usati per costruire i percorsi dovrebbero fare l'escaping delle barre per prevenire vulnerabilità di path traversal.

Sebbene esistano prerequisiti per lo sfruttamento efficace di questa vulnerabilità - il che riduce considerevolmente il rischio - è comunque consigliabile applicare una patch. Puoi controllare nei riferimenti come gli autori di CubeCart hanno corretto questa vulnerabilità e applicare le correzioni alla tua istanza di CubeCart finché non verrà rilasciata una versione ufficiale che la includa già corretta.

Riferimenti

  • https://github.com/cubecart/v6/issues/3586
Scarica lo strumento