Кулхакінг Moodle

Ще коли на початку карантину нам стало відомо, що Університет Короля Данила і його коледжі будуть мати платформу для дистанційного навчання на базі Moodle, я вирішив поцікавитись, чи не є це дирява опенсорсна платформа.

Недовго погугливши що в цієї платформи є доволі багато вразливостей, що не фіксяться вже давно. «Ось тільки, я аж ніяк не PHP програміст, що б їх використовувати», подумав тоді я. Та і смисл, якщо всі відповіді на тести можна побачити після проходження і скинути одногрупникам.

Але пройшло багато часу і навчання дійшло кінця, залишились перездачі. І після одного тесту з української я так був трохи злий на це все і вирішив знову пошукати вразливості Moodle. Але те, що я найшов буквально випадково мене нормально так здивувало. Я копав в сторону отримання дозволів, але випадково натрапив на тему, де хтось з користувачів дивився відповіді до тестів просто відкривши HTML код сторінки, на якій він проходить тести. Я спочатку подумав, що або це просто якийсь жарт, або це пофіксили ще 6-8 років тому.

Але яке ж було моє здивування, коли скопіювавши код сторінки та відформатувавши його в VS Code, я найшов блоки, що показують правильну відповідь після проходження тесту.

І така відповідь є до всіх питань різних типів.

Як же неприємно усвідомлювати, що весь цей час відповіді на всі тести були прямо під носом у нас. Але реально я не очікував що все буде настільки просто.

Для тих, хто досі проходить тести, можу порадити побавитись з CSS і зробити кастомний стиль, що буде показувати ось цей клас .feedback.

Що я можу порадити адміністраціям шкіл/університетів? Приховуйте відповіді. Це убереже вас від ще однієї напасті — перекидування відповідей між студентами. Хоча, якщо клас/група доволі організований, то і це його не стримує від масового списування. Тому я надіюсь, мені більше ніколи не доведеться вчитись на дистанційному, а адміністрації більше ніколи не доведеться це переживати.

У Moodle є ще купа вразливостей, але я уже схоже ніколи не зможу спробувати їх використати. Та і взагалі все мною сказане, це вигадана історія, що ніколи не відбувалась в реальності. Ніхто нічого не бачив, не чув, а мене тут не було.

Найближчим часом також постараюсь опублікувати невеликий аналіз даних, що я зміг зробити під час дистанційного навчання, якщо буду мати час.