
Un semplice PoC scritto in Go sulla vulnerabilità di Remote Code Execution (RCE) di CraftCMS identificata come CVE-2025-32432
Questo repository contiene un exploit proof-of-concept (PoC) professionale scritto in Go, progettato per dimostrare una catena di vulnerabilità critica in Craft CMS. L'exploit sfrutta una vulnerabilità di log-poisoning che porta a una Local File Inclusion (LFI), consentendo infine l'esecuzione remota di codice (RCE) tramite una reverse shell.
L'exploit segue una catena di esecuzione a più stadi:
Il tool inizia inviando una richiesta GET non autenticata al target. Manipolando il parametro a e fornendo un CraftSessionId personalizzato tramite i cookie, l'attaccante può forzare l'applicazione a scrivere un payload PHP nel file di log di sessione situato in /var/lib/php/sessions/sess_[sessionId].
Per interagire con l'endpoint generate-transform, il tool estrae automaticamente i cookie necessari X-CSRF-Token e CRAFT_CSRF_TOKEN dall'interfaccia amministrativa, garantendo che la successiva richiesta POST venga accettata dal server.
Il tool sfrutta l'endpoint generate-transform inviando un payload JSON appositamente costruito. Abusando della classe \yii\rbac\PhpManager tramite un'iniezione di behavior, il tool attiva una Local File Inclusion (LFI) del log di sessione precedentemente avvelenato. Una volta che il codice PHP nel log viene eseguito, il tool avvia una reverse shell basata su Python.
A differenza degli script tradizionali, questo tool implementa un listener TCP concorrente utilizzando goroutine di Go. Ciò consente al tool di catturare automaticamente la connessione della reverse shell su una porta specificata, offrendo un'esperienza fluida "one-click" dalla consegna dell'exploit all'accesso alla shell.
go run main.go
Segui le istruzioni a schermo per fornire l'URL del target, la porta del tuo listener e il tuo indirizzo IP.
Questo tool è destinato esclusivamente a scopi educativi e di test autorizzati.