Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
moodle-grades-feedback-idor — Moodle 5.2.3 - Alto - Remoto - IDOR - core_grades_get_feedback salta i controlli sui gruppi separati | Kitploit
Strumenti/GitHubGitHub/abraxas/moodle-grades-feedback-idor
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebRaccolta InformazioniVirtualizzazione per la SicurezzaSicurezza WebPenetration TestingLab e Pratica
GitHubabraxas/moodle-grades-feedback-idor

moodle-grades-feedback-idor

Moodle 5.2.3 - Alto - Remoto - IDOR - core_grades_get_feedback salta i controlli sui gruppi separati

Vedi Repository
33 giorni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

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

Classe: IDOR Raggiungibilità: Remota

core_grades_get_feedback chiama ancora soltanto require_capability('gradereport/grader:view'). Altri web service dei voti hanno ricevuto groups_user_groups_visible / groups_group_visible dopo MSA-26-0016 / MDL-88667. Questo servizio AJAX no. Il JSON ritorna con feedbacktext, fullname, picture e il primo campo identità.

Un docente non-editing in Gruppi separati, senza accessallgroups, invia in POST lo userid di un altro studente e legge il feedback di quel gruppo.

IDnessuna CVE al momento
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
ProdottoMoodle
Affetto5.2.3 tag v5.2.3 (344232c15336c71b80f9aca8359ce0e0a9f3d116)
Authdocente non-editing con gradereport/grader:view, senza moodle/site:accessallgroups. Corso in Gruppi separati.
LicenzaGNU Affero GPL v3.0
Labsolo 127.0.0.1

Cosa può fare un attaccante

Attore: un docente non-editing iscritto a un corso con Gruppi separati, solo nel Gruppo A, con visualizzazione del registro valutatore e senza access-all-groups. Sceglie lo userid di un altro studente iscritto (interi sequenziali) e chiama il servizio AJAX. Non è RCE. Non è LPE. Non è una scrittura di punteggio.

PrivilegioMetodo / sinkRecon / integrità / disponibilitàProvato in lab o dedotto
Leggere il feedback dei voti di un altro gruppoPOST /lib/ajax/service.php?sesskey= core_grades_get_feedback {courseid, userid, itemid}ReconProvato in lab. HTTP 200, error=false, feedbacktext contiene MOODLE-GRADES-FEEDBACK-IDOR-WITNESS
Leggere il campo identità e il nome visualizzato di quello studenteStessa risposta additionalfield / fullname / pictureReconProvato in lab. [email protected], fullname=Student Bravo
Scorrere valori userid sequenziali nello stesso corsoStesso metodo, id indovinatiReconDedotto. Il lab ha usato l'id seminato del Gruppo B
Elencare il Gruppo B tramite il selettore gemellocore_grades_get_gradable_users {courseid, groupid=B}n/aProvato in lab chiuso. cannotaccessgroup
Uno studente chiama lo stesso servizio di feedbackruolo studente, stessi argomentin/aProvato in lab chiuso. nopermissions
Feedback dello stesso gruppo (studente del Gruppo A)chiamata del docente per Student AlphaRecon (previsto)Provato in lab consentito. HTTP 200, error=false
PHP RCE / OS LPE / scrittura di votin/an/aChiuso. Questo residuo è una lettura di feedback e campi profilo

Un Moodle predefinito senza Gruppi separati, o un docente che ha già moodle/site:accessallgroups, non è questo residuo. I docenti editing con quella capability vedono già ogni gruppo.

Residui dello stesso pin: Blackboard img file read, enrol_database SQLi, hidden grade items.

Come l'ho trovato

Ho fissato moodle/moodle v5.2.3 dopo MSA-26-0042/0043. MSA-26-0016 ha chiuso i controlli di gruppo su altri web service dei voti. get_feedback.php non era in quell'insieme. L'interfaccia del registro valutatore è stata irrobustita. Questo servizio AJAX no.

Vicoli ciechi già registrati: considerare la mancanza del gemello get_gradable_users come l'intera storia (quello lancia già cannotaccessgroup); definirlo una scrittura di punteggio perché il payload nomina itemid (il servizio è una lettura); studente-come-attaccante (nopermissions). Una reverse shell. Teatro.

Lab

Moodle v5.2.3 live su php:8.3-cli + MariaDB 11.4. Il seed costruisce un corso con Gruppi separati, docente solo nel Gruppo A, studente B solo nel Gruppo B, CAP_PREVENT su moodle/site:accessallgroups e una voce di voto manuale il cui feedback è il witness. how=live.

Compose monta in bind ../../vendors/moodle/src come /opt/moodle-pin (il percorso è relativo a lab/docker-compose.yml). Clona moodle/moodle tag v5.2.3 in quel percorso, oppure punta il volume al tuo checkout. L'albero di Moodle non è in questo pacchetto.

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

oppure

cd lab
./run.sh

Target solo http://127.0.0.1:19580. Progetto Compose moodle-grades-feedback-idor. Lo stack viene smontato dopo l'esecuzione.

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

La correzione

Dopo validate_context / require_capability, caricare il corso e l'utente target, poi rifiutare a meno che groups_user_groups_visible($course, $userid) e il target sia iscritto. Stessa forma di gradereport_user e core_grades_get_gradable_users dopo MDL-88667.

Riferimenti

  • github.com/moodle/moodle tag v5.2.3
  • get_feedback.php
  • Il gemello nega già l'altro gruppo: get_gradable_users.php
  • Correlato patchato (non questo servizio): MSA-26-0016 / MDL-88667
  • Stesso pin: moodle-blackboard-img · moodle-enrol-database-sqli · moodle-grades-gradeitems
  • CWE-863

Licenza

GNU Affero GPL v3.0. Vedi LICENSE. Solo lab su loopback. Nessuna garanzia.

Scarica lo strumento