
PoC - Scrittura Arbitraria di File in Gibbon LMS per RCE (CVE-2023-45878)
Scrittura Arbitraria di File in Gibbon LMS per RCE (CVE-2023-45878)
GibbonEdu Gibbon LMS versione 25.0.1 e precedenti permette la scrittura arbitraria di file perché rubrics_visualise_saveAjax.php non richiede autenticazione. L'endpoint accetta i parametri img, path e gibbonPersonID. Il parametro img deve essere un'immagine codificata in base64. Se il parametro path è impostato, il percorso definito viene utilizzato come cartella di destinazione, concatenato con il percorso assoluto della directory di installazione. Il contenuto del parametro img viene decodificato da base64 e scritto nel percorso file definito. Ciò consente la creazione di file PHP che consentono l'esecuzione remota di codice (non autenticata).
Questo script fornisce una shell pseudo-interattiva. Un singolo file PHP viene caricato sul sistema remoto e lo script locale fornisce un wrapper per interagire direttamente con esso. Quando viene inviato un comando, restituisce la risposta HTTP dal payload PHP. Nel caso in cui il file del payload venga rimosso dal sistema remoto, lo script rileverà una risposta di errore 404, eseguirà un nuovo caricamento e reinvierà l'ultimo comando.
python3 gibbonlms_cmd_shell.py url
python3 gibbonlms_cmd_shell.py http://example.com
Questo script è fornito a scopo educativo. Si prega di utilizzare in modo responsabile.