Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
moodle-grades-feedback-idor — Moodle 5.2.3 - उच्च - रिमोट - IDOR - core_grades_get_feedback अलग-समूह जाँचों को छोड़ देता है | Kitploit
उपकरण/GitHubGitHub/abraxas/moodle-grades-feedback-idor
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणजानकारी एकत्र करनासुरक्षा वर्चुअलाइजेशनवेब सुरक्षापेनिट्रेशन टेस्टिंगलैब और अभ्यास
GitHub
abraxas/moodle-grades-feedback-idor

moodle-grades-feedback-idor

Moodle 5.2.3 - उच्च - रिमोट - IDOR - core_grades_get_feedback अलग-समूह जाँचों को छोड़ देता है

रिपॉजिटरी देखें
11617 दिन पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

Abraxas Labs - moodle-grades-feedback-idor

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  moodle-grades-feedback-idor

राइट-अप: https://abraxaslabs.tech/research/moodle-grades-feedback-idor

moodle-grades-feedback-idor

Moodle LMS 5.2.3 - Moodle

वर्ग: IDOR पहुँच: रिमोट

core_grades_get_feedback अभी भी केवल require_capability('gradereport/grader:view') को कॉल करता है। MSA-26-0016 / MDL-88667 के बाद अन्य ग्रेड वेब सेवाओं में groups_user_groups_visible / groups_group_visible जोड़े गए। इस AJAX सेवा में नहीं जोड़े गए। JSON में feedbacktext, fullname, picture, और पहला पहचान फ़ील्ड लौटकर आता है।

Separate groups में एक non-editing teacher, accessallgroups के बिना, किसी अन्य छात्र का userid POST करता है और उस समूह का फ़ीडबैक पढ़ता है।

IDअभी तक कोई CVE नहीं
CWECWE-863 / CWE-200
CVSSमध्यम: 4.3 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
उत्पादMoodle
प्रभावित5.2.3 टैग v5.2.3 (344232c15336c71b80f9aca8359ce0e0a9f3d116)
प्रमाणीकरणgradereport/grader:view वाला non-editing teacher, moodle/site:accessallgroups के बिना। पाठ्यक्रम Separate groups में।
लाइसेंसGNU Affero GPL v3.0
लैबकेवल 127.0.0.1

हमलावर क्या कर सकता है

लेखक: Separate-groups पाठ्यक्रम में नामांकित एक non-editing teacher, केवल Group A में, grader view के साथ और access-all-groups के बिना। वे किसी अन्य नामांकित छात्र का userid (क्रमिक ints) चुनते हैं और AJAX सेवा को कॉल करते हैं। RCE नहीं। LPE नहीं। स्कोर राइट नहीं।

विशेषाधिकारविधि / सिंकरेकॉन / अखंडता / उपलब्धतालैब-प्रमाणित या अनुमानित
किसी अन्य समूह का ग्रेड फ़ीडबैक पढ़नाPOST /lib/ajax/service.php?sesskey= core_grades_get_feedback {courseid, userid, itemid}रेकॉनलैब-प्रमाणित। HTTP 200, error=false, feedbacktext में MOODLE-GRADES-FEEDBACK-IDOR-WITNESS शामिल है
उस छात्र का पहचान फ़ील्ड और प्रदर्शित नाम पढ़नावही प्रतिक्रिया additionalfield / fullname / pictureरेकॉनलैब-प्रमाणित। [email protected], fullname=Student Bravo
उसी पाठ्यक्रम में क्रमिक userid मानों को टहलानावही विधि, अनुमानित idsरेकॉनअनुमानित। लैब ने सीड किए गए Group B id का उपयोग किया
सहोदर सेलेक्टर के माध्यम से Group B को सूचीबद्ध करनाcore_grades_get_gradable_users {courseid, groupid=B}लागू नहींलैब-प्रमाणित बंद। cannotaccessgroup
छात्र वही फ़ीडबैक सेवा कॉल करता हैstudent भूमिका, वही argsलागू नहींलैब-प्रमाणित बंद। nopermissions
समान-समूह फ़ीडबैक (Group A छात्र)Student Alpha के लिए teacher कॉलरेकॉन (इच्छित)लैब-प्रमाणित अनुमत। HTTP 200, error=false
PHP RCE / OS LPE / ग्रेड राइटलागू नहींलागू नहींबंद। यह अवशेष फ़ीडबैक और प्रोफ़ाइल फ़ील्ड का पठन है

Separate groups के बिना डिफ़ॉल्ट Moodle, या वह शिक्षक जिसके पास पहले से moodle/site:accessallgroups है, यह अवशेष नहीं है। उस कैप वाले editing teachers पहले से ही हर समूह देखते हैं।

समान पिन अवशेष: Blackboard img फ़ाइल पठन, enrol_database SQLi, छिपे ग्रेड आइटम।

मैंने इसे कैसे खोजा

मैंने MSA-26-0042/0043 के बाद moodle/moodle v5.2.3 को पिन किया। MSA-26-0016 ने अन्य ग्रेड वेब सेवाओं पर समूह जाँचें बंद कर दीं। get_feedback.php उस सेट में नहीं था। ग्रेडर UI को सुदृढ़ किया गया था। इस AJAX सेवा को नहीं।

पहले से दर्ज गलत मोड़: सहोदर get_gradable_users चूक को पूरी कहानी मान लेना (वह तो पहले से ही cannotaccessgroup फेंकता है); इसे स्कोर राइट कहना क्योंकि पेलोड में itemid का नाम है (सेवा एक रीड है); छात्र-को-हमलावर मानना (nopermissions)। एक रिवर्स शेल। नाटक।

लैब

php:8.3-cli + MariaDB 11.4 पर लाइव Moodle v5.2.3। सीड एक Separate-groups कोर्स बनाता है, शिक्षक केवल Group A में, छात्र B केवल Group B में, moodle/site:accessallgroups पर CAP_PREVENT, और एक मैनुअल ग्रेड आइटम जिसका फीडबैक गवाह है। how=live।

Compose ../../vendors/moodle/src को /opt/moodle-pin के रूप में बाइंड-माउंट करता है (पथ lab/docker-compose.yml के सापेक्ष है)। moodle/moodle टैग v5.2.3 को उस पथ पर क्लोन करें, या वॉल्यूम को अपने चेकआउट की ओर इंगित करें। Moodle ट्री इस पैक में नहीं है।

python3 moodle-grades-feedback-idor-Abraxas-Labs.py

या

cd lab
./run.sh

केवल http://127.0.0.1:19580 को लक्षित करें। प्रोजेक्ट moodle-grades-feedback-idor को कंपोज़ करें। रन के बाद स्टैक टियर डाउन हो जाता है।

SUCCESS moodle-grades-feedback-idor how=live pin=v5.2.3 teacher-role=teacher accessallgroups=no groupmode=1 feedback-has-witness=yes [email protected] sibling-group-b=cannotaccessgroup student-call=nopermissions MOODLE-GRADES-FEEDBACK-IDOR-WITNESS

समाधान

validate_context / require_capability के बाद, पाठ्यक्रम और लक्ष्य उपयोगकर्ता को लोड करें, फिर मना करें जब तक कि groups_user_groups_visible($course, $userid) न हो और लक्ष्य नामांकित न हो। MDL-88667 के बाद gradereport_user और core_grades_get_gradable_users के समान स्वरूप।

संदर्भ

  • github.com/moodle/moodle टैग v5.2.3
  • get_feedback.php
  • सहोदर पहले से ही दूसरे समूह को अस्वीकार करता है: get_gradable_users.php
  • निकटवर्ती पैच किया गया (यह सेवा नहीं): MSA-26-0016 / MDL-88667
  • समान पिन: moodle-blackboard-img · moodle-enrol-database-sqli · moodle-grades-gradeitems
  • CWE-863

लाइसेंस

GNU Affero GPL v3.0। देखें LICENSE। केवल लूपबैक लैब। कोई वारंटी नहीं।

टूल डाउनलोड करें