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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2024-28397-js2py-Sandbox-Escape — Эксплойт-доказательство концепции для CVE-2024-28397 — обход песочницы в js2py, позволяющий удалённое выполнение кода через специально сформированный JavaScript, с динамическим исправлением. | Kitploit
Инструменты/GitHubGitHub/cyber-warrior-sec/cve-2024-28397-js2py-sandbox-escape
Анализ уязвимостейАнализ КодаЭксплуатацияЭксплуатация веб-приложенийИнструмент Удаленного ДоступаРазработка Полезной Нагрузки
GitHubcyber-warrior-sec/cve-2024-28397-js2py-sandbox-escape

CVE-2024-28397-js2py-Sandbox-Escape

Эксплойт-доказательство концепции для CVE-2024-28397 — обход песочницы в js2py, позволяющий удалённое выполнение кода через специально сформированный JavaScript, с динамическим исправлением.

Репозиторий
62 лет назадЕщё не проверено

Популярное

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

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

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

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

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

Введение

中文

js2py — популярный пакет Python, позволяющий выполнять код JavaScript внутри интерпретатора Python. Он используется различными парсерами веб-страниц для обработки JavaScript-кода на сайтах.

В реализации глобальных переменных в js2py существует уязвимость, которая может позволить атакующему получить ссылки на объекты Python в среде js2py, что, в свою очередь, даёт возможность выйти из окружения JS и выполнить произвольные команды на хосте.

Обычно пользователь вызывает js2py.disable_pyimport(), чтобы предотвратить выход JavaScript-кода из среды js2py. Однако с помощью этой уязвимости атакующий может обойти это ограничение и выполнить любую команду на хосте.

Злоумышленники могут размещать на сайтах вредоносные JS-файлы или отправлять вредоносные скрипты через HTTP API для их расшифровки жертвами. Таким образом, они могут выполнить удалённый код на хосте, запуская любые команды оболочки на целевом устройстве.

Детали уязвимости

  • Номер версии затронутого компонента:
    • js2py последней версии (<=0.74), работающий под Python 3.
  • Затронутые продукты:
    • pyload/pyload
    • VeNoMouS/cloudscraper (использует js2py в качестве опционального 'интерпретатора JS')
    • dipu-bd/lightnovel-crawler
  • Шаги для воспроизведения:
  • Установите Python 3 версии ниже 3.12 (в настоящее время js2py не поддерживает Python 3.12).
  • Выполните pip install js2py, чтобы установить js2py, и запустите poc.py. Скрипт попытается выполнить head -n 1 /etc/passwd; calc; gnome-calculator; kcalc; на хосте.
  • Если уязвимость существует, скрипт должен вывести Success! the vulnerability exists... или открыть калькулятор.

Исправление

Официальное исправление на данный момент отсутствует. Пользователь может использовать fix.py для динамического патча js2py или применить patch.txt, чтобы исправить исходный код.

Прочее

Я обнаружил эту уязвимость в феврале и отправил PR в официальный репозиторий. Однако после этого PR был забыт, и прошло четыре месяца. Я решил опубликовать PoC и исправление сейчас.

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