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

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

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

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

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

श्रेणियाँ

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

moodle-grades-gradeitems

Moodle 5.2.3 - उच्च - रिमोट - IDOR - core_grades_get_gradeitems छिपे हुए ग्रेड आइटम सूचीबद्ध करता है

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

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

सभी देखें →

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

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

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

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

Abraxas Labs - moodle-grades-gradeitems

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

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

moodle-grades-gradeitems

Moodle LMS 5.2.3 - Moodle

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

core_grades_get_gradeitems ajax के साथ-साथ आधिकारिक मोबाइल सेवा है, जिसमें services.php में कोई capabilities कुंजी नहीं है। validate_context ही एकमात्र गेट है। फिर grade_item::fetch_all पाठ्यक्रम के प्रत्येक आइटम को डंप करता है। array_filter GRADE_TYPE_NONE, श्रेणी आइटम, और पाठ्यक्रम आइटम को हटा देता है। छिपा हुआ उस फ़िल्टर में नहीं है। सहोदर core_grades_get_grade_tree को पहले से ही moodle/grade:viewall की आवश्यकता है।

एक नामांकित छात्र {courseid} POST करता है और छिपे हुए ग्रेड आइटम के नाम प्राप्त करता है जिन्हें छात्र ग्रेडबुक UI अभी भी छिपाता है।

IDअभी तक कोई CVE नहीं
CWECWE-862 / 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)
प्रमाणीकरणनामांकित छात्र (moodle/grade:view; viewall / viewhidden का अभाव)
लाइसेंसGNU Affero GPL v3.0
लैबकेवल 127.0.0.1

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

लेखक: पाठ्यक्रम में एक नामांकित छात्र। वे {courseid} के साथ AJAX सेवा को POST करते हैं। प्रतिक्रिया में नाम, ID, और श्रेणियाँ होती हैं। रिटर्न स्कीमा में कोई स्कोर नहीं है। RCE नहीं। LPE नहीं। स्कोर राइट नहीं।

विशेषाधिकारविधि / सिंकरेकॉन / अखंडता / उपलब्धतालैब-प्रमाणित या अनुमानित
छिपे हुए ग्रेड-आइटम का नाम, id, और श्रेणी पढ़ेंPOST /lib/ajax/service.php?sesskey= core_grades_get_gradeitems {courseid}रेकॉनलैब-प्रमाणित। HTTP 200, नामों में MOODLE-GRADES-GRADEITEMS-WITNESS शामिल है
दृश्यमान ग्रेड-आइटम का नाम, id, और श्रेणी पढ़ेंवही प्रतिक्रियारेकॉन (शिक्षकों के लिए इच्छित)लैब-प्रमाणित। नामों में Visible Lab Assignment शामिल है
आधिकारिक मोबाइल सेवा के माध्यम से वही कैटलॉगवही क्लास, services में MOODLE_OFFICIAL_MOBILE_SERVICE शामिल हैरेकॉनservices.php से अनुमानित। लैब ने AJAX का उपयोग किया।
उन पाठ्यक्रमों के लिए क्रमिक courseid मानों को वॉक करें जिनमें छात्र प्रवेश कर सकता हैवही विधि, अनुमानित idsरेकॉनअनुमानित। लैब ने सीडेड पाठ्यक्रम id 2 का उपयोग किया
छात्र ग्रेडबुक UI में छिपा हुआ आइटम देखेंGET /grade/report/user/index.php?id=लागू नहींलैब-प्रमाणित बंद। hidden-in-ui=False, visible-in-ui=True
सत्र के बिना कॉल करेंडमी sesskey के साथ AJAXलागू नहींलैब-प्रमाणित बंद। servicerequireslogin
लॉग-इन उपयोगकर्ता के रूप में कॉल करें जो नामांकित नहीं हैबाहरी AJAX, वही courseidलागू नहींलैब-प्रमाणित बंद। requireloginerror
अन्य छात्रों के स्कोर पढ़ें या ग्रेड लिखेंलागू नहींलागू नहींबंद। रिटर्न कुंजियाँ id, itemname, category हैं
PHP RCE / OS LPEलागू नहींलागू नहींबंद। यह अवशेष एक कैटलॉग रीड है

एक शिक्षक या प्रबंधक जिसके पास पहले से ही moodle/grade:viewall है, वह पहले से ही कैटलॉग देख सकता है। अतिथि / अप्रमाणित कॉलर्स को अभी भी एक पाठ्यक्रम संदर्भ की आवश्यकता है।

इसी पिन के अवशेष: Blackboard img file read, enrol_database SQLi, grades feedback IDOR।

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

MSA-26-0042/0043 के बाद मैंने moodle/moodle v5.2.3 को पिन किया। ग्रेड वेब सेवाएँ उस MSA विंडो में थीं। get_gradeitems.php में अभी भी कोई require_capability नहीं है। छात्र UI पहले से ही आइटम को छिपा रहा था। AJAX कैटलॉग नहीं छिपा रहा था।

पहले से दर्ज गलत रास्ते: unauth AJAX 200 को लीक मानना (body servicerequireslogin है); इसे स्कोर IDOR कहना क्योंकि मेथड नाम में grade है (स्कीमा केवल नामों का है); get_grade_tree को वही अवशेष होने की अपेक्षा करना (उसे पहले से ही viewall चाहिए)। एक रिवर्स शेल। नाटक।

लैब

php:8.3-apache + MariaDB 11.4 पर लाइव Moodle v5.2.3। सीड labstudent को नामांकित करता है, laboutsider को कोर्स से बाहर रखता है, और एक दृश्यमान मैनुअल आइटम तथा एक छिपा हुआ आइटम बनाता है जिसका नाम ही गवाह है। run.sh एक स्थानीय पिन या git clone --depth 1 --branch v5.2.3 कॉपी करता है। Moodle ट्री इस पैक में नहीं है।

python3 moodle-grades-gradeitems-Abraxas-Labs.py

या

cd lab
./run.sh

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

SUCCESS moodle-grades-gradeitems student-ajax=200 hidden-in-ajax=yes hidden-in-ui=no visible-in-ajax=yes visible-in-ui=yes outsider-error=yes unauth-error=yes MOODLE-GRADES-GRADEITEMS-WITNESS

समाधान

validate_context के बाद, get_grade_tree के समान ही कैप की आवश्यकता रखें: require_capability('moodle/grade:viewall', $context)। साथ ही छिपे हुए आइटम तब तक हटा दें जब तक कॉलर के पास moodle/grade:viewhidden न हो। एक Behat/PHPUnit केस जोड़ें: नामांकित छात्र, छिपा हुआ मैनुअल आइटम, core_grades_get_gradeitems को उस आइटम को छोड़ना चाहिए (या 403)। छात्र ग्रेडबुक UI पहले से ही इसे छिपाता है।

संदर्भ

  • github.com/moodle/moodle टैग v5.2.3
  • get_gradeitems.php
  • सहोदर पहले से ही कैप की आवश्यकता रखता है: get_grade_tree.php
  • सेवा पंजीकरण: services.php (core_grades_get_gradeitems, कोई capabilities नहीं)
  • समान पिन: moodle-blackboard-img · moodle-enrol-database-sqli · moodle-grades-feedback-idor
  • CWE-862

लाइसेंस

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

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