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 अलग-समूह जाँचों को छोड़ देता है

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

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

सभी देखें →

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

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

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

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

Abraxas Labs - moodle-grades-feedback-idor

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

moodle-grades-feedback-idor

Moodle LMS 5.2.3 - Moodle

Class: IDOR Reach: Remote

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 करता है और उस समूह का feedback पढ़ता है।

IDअभी तक कोई CVE नहीं
CWECWE-863 / CWE-200
CVSSMedium: 4.3 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
ProductMoodle
Affected5.2.3 tag v5.2.3 (344232c15336c71b80f9aca8359ce0e0a9f3d116)
Authnon-editing teacher जिसके पास gradereport/grader:view है, बिना moodle/site:accessallgroups के। Course Separate groups में।
LicenseGNU Affero GPL v3.0
Labकेवल 127.0.0.1

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

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

PrivilegeMethod / sinkRecon / integrity / availabilityLab-proven या inferred
किसी अन्य समूह का grade feedback पढ़नाPOST /lib/ajax/service.php?sesskey= core_grades_get_feedback {courseid, userid, itemid}ReconLab-proven। HTTP 200, error=false, feedbacktext में MOODLE-GRADES-FEEDBACK-IDOR-WITNESS है
उस छात्र का पहचान फ़ील्ड और display name पढ़नावही response additionalfield / fullname / pictureReconLab-proven। [email protected], fullname=Student Bravo
उसी course में क्रमिक userid मानों को walk करनावही method, अनुमानित idsReconInferred। Lab ने seeded Group B id का उपयोग किया
sibling selector के माध्यम से Group B को list करनाcore_grades_get_gradable_users {courseid, groupid=B}n/aLab-proven closed। cannotaccessgroup
छात्र उसी feedback सेवा को कॉल करता हैstudent role, वही argsn/aLab-proven closed। nopermissions
Same-group feedback (Group A छात्र)Student Alpha के लिए teacher callRecon (intended)Lab-proven allowed। HTTP 200, error=false
PHP RCE / OS LPE / grade writen/an/aClosed। यह leftover feedback और profile फ़ील्ड्स का read है

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

Same pin leftovers: Blackboard img file read, enrol_database SQLi, hidden grade items।

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

मैंने MSA-26-0042/0043 के बाद moodle/moodle v5.2.3 को pin किया। MSA-26-0016 ने अन्य grade web services पर group checks बंद कर दिए। get_feedback.php उस सेट में नहीं था। grader UI को harden किया गया था। इस AJAX सेवा को नहीं।

पहले से दर्ज गलत रास्ते: sibling get_gradable_users miss को पूरी कहानी मानना (वह पहले से ही cannotaccessgroup throw करता है); इसे score write कहना क्योंकि payload में itemid का नाम है (सेवा एक read है); student-as-attacker (nopermissions)। एक reverse shell। Theatre।

Lab

php:8.3-cli + MariaDB 11.4 पर Live Moodle v5.2.3। Seed एक Separate-groups course बनाता है, teacher केवल Group A में, student B केवल Group B में, moodle/site:accessallgroups पर CAP_PREVENT, और एक manual grade item जिसका feedback witness है। how=live।

Compose ../../vendors/moodle/src को /opt/moodle-pin के रूप में bind-mount करता है (path lab/docker-compose.yml के सापेक्ष है)। moodle/moodle tag v5.2.3 को उस path पर clone करें, या volume को अपने checkout पर point करें। Moodle tree इस pack में नहीं है।

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

या

cd lab
./run.sh

लक्ष्य केवल http://127.0.0.1:19580। Compose project moodle-grades-feedback-idor। Run के बाद stack tear down हो जाता है।

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

Fix

validate_context / require_capability के बाद, course और target user को load करें, फिर refuse करें जब तक groups_user_groups_visible($course, $userid) न हो और target enrolled न हो। MDL-88667 के बाद gradereport_user और core_grades_get_gradable_users के समान shape।

References

  • github.com/moodle/moodle tag v5.2.3
  • get_feedback.php
  • Sibling पहले से ही दूसरे समूह को deny करता है: get_gradable_users.php
  • Nearby patched (यह सेवा नहीं): MSA-26-0016 / MDL-88667
  • Same pin: moodle-blackboard-img · moodle-enrol-database-sqli · moodle-grades-gradeitems
  • CWE-863

License

GNU Affero GPL v3.0। LICENSE देखें। केवल Loopback lab। कोई warranty नहीं।

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