
Questo repository contiene uno script Python progettato per sfruttare la CVE-2024-50379, una vulnerabilità che consente agli attaccanti di caricare una shell JSP su un server vulnerabile ed eseguire comandi arbitrari da remoto. Questo exploit è particolarmente utile quando la directory /uploads non è protetta o non è presente sul server di destinazione.
Questo repository contiene uno script Python progettato per sfruttare CVE-2024-50379, una vulnerabilità che consente agli attaccanti di caricare una shell JSP su un server vulnerabile ed eseguire comandi arbitrari da remoto. Questo exploit è particolarmente utile quando la directory /uploads è non protetta o non presente sul server di destinazione.
CVE-2024-50379 è una vulnerabilità che colpisce i server che gestiscono in modo improprio il caricamento dei file, consentendo a un attaccante di caricare una shell JSP. Questa shell può quindi essere utilizzata per eseguire comandi arbitrari da remoto. Lo script Python fornito automatizza questo processo caricando la shell su un server vulnerabile e permettendo l'interazione con il server tramite un'interfaccia a riga di comando.
Prima di eseguire lo script, assicurati di avere installato quanto segue:
Python 3.6+ (Consigliato)
Libreria requests. Installala usando pip:
pip install requests
L'exploit prende di mira sistemi che eseguono Apache Tomcat o server simili che non proteggono adeguatamente la funzionalità di caricamento dei file o che hanno directory /uploads mal configurate.
Importante: questo strumento dovrebbe essere usato solo in ambienti controllati come test di penetrazione con autorizzazione o a scopo didattico. L'uso non autorizzato di questo strumento può essere illegale e contrario all'etica.
http:// agli URL senza schema./uploads mancante: se la directory /uploads non viene trovata, lo strumento continua a tentare il caricamento della shell.Clona il repository sulla tua macchina locale:
git clone https://github.com/dragonked2/CVE-2024-50379-POC.git
cd CVE-2024-50379-POC
Assicurati di avere installate le librerie Python richieste:
pip install requests
Esegui lo script con il seguente comando:
python exploit_cve_2024_50379.py
Lo script ti chiederà di inserire l'URL di base del server vulnerabile (ad es., http://localhost:8080). Se l'URL non include http:// o https://, verrà aggiunto automaticamente http://.
Una volta caricata correttamente la shell JSP, puoi inserire comandi in modalità interattiva per eseguirli sul server. Lo script mostrerà l'output.
Esempio di interazione:
[+] Enter the base URL (e.g., localhost:8080): http://127.0.0.1:8080
[+] Checking server accessibility...
[+] /uploads directory not found (404), but continuing with upload attempt...
[+] Attempting to upload shell (Attempt 1/3)...
[+] Shell uploaded successfully! Check the URL: http://127.0.0.1:8080/uploads/shell.jsp
[+] Enter the command to execute on the server (or 'exit' to quit): whoami
[+] Executing command: whoami
[+] Command output:
root
Digita exit per uscire dallo strumento dopo aver completato le interazioni.
Lo strumento include una gestione robusta degli errori per problemi comuni come:
Le operazioni fallite verranno automaticamente ritentate fino a tre volte con un ritardo di 2 secondi tra i tentativi. Se un'operazione fallisce dopo i retry, verrà visualizzato un messaggio di errore.
I contributi sono benvenuti! Se trovi bug o hai suggerimenti per miglioramenti, sentiti libero di aprire una issue o inviare una pull request.
Questo strumento è destinato esclusivamente a scopi didattici e di test di penetrazione. Non utilizzare questo strumento su sistemi che non possiedi o per i quali non hai esplicita autorizzazione a testare. L'uso non autorizzato è illegale e può comportare accuse penali.
Questo progetto è concesso in licenza secondo i termini della Licenza MIT. Consulta il file LICENSE per i dettagli.