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

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

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

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

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

Категории

Все категории
Loading categories
Expression-Sandbox-Escape-Simulation-Lab — Учебная лаборатория, демонстрирующая техники обхода песочниц JavaScript-выражений и эволюцию патчей через несколько уязвимых версий песочниц, с полезными нагрузками и анализом AST. | Kitploit
Инструменты/GitHubGitHub/otakuliu/expression-sandbox-escape-simulation-lab
Статический анализАнализ уязвимостейЭксплуатацияВеб-безопасностьОбучение и Образование
GitHubotakuliu/expression-sandbox-escape-simulation-lab

Expression-Sandbox-Escape-Simulation-Lab

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

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

Популярное

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

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

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

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

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

🧪 Expression Sandbox Escape – Simulation Lab

Минимальная экспериментальная среда для демонстрации побега из JavaScript-песочницы выражений и эволюции исправлений.

Через несколько версий sandbox реализуется путь от:

Полностью эксплуатируемый → исправление this → затем исправление destructuring

При этом сохраняются новые способы обхода, что помогает понять реальный процесс противостояния уязвимостей и патчей.


📦 Структура проекта

root@kitploit:~
.
├── payload.js        # различные атакующие payload
├── sandbox_v0.js     # исходная уязвимая версия
├── sandbox_v1.js     # исправление цепочки this
├── sandbox_v2.js     # дополнительное исправление destructuring

🎯 Цели дизайна

Мы хотим смоделировать такую реальность:

  1. Команда безопасности закрыла одну дыру
  2. Атакующий находит другой путь
  3. Снова исправление
  4. Снова обход

И так по кругу.

Этот проект не предназначен для создания по-настоящему безопасной VM. А для наблюдения за тем:

как каждый «внешне разумный» патч пробивается следующей техникой.


🚀 Как запустить

root@kitploit:~
npm install vm2 acorn acorn-walk
node sandbox_vX.js

Замените X на 0 / 1 / 2.


🧨 Описание Payload

payload.js содержит четыре способа доступа:

НазваниеТехника
CVE-2025-68613 / thisполучение process через this
CVE-2026-25049 / destructuringполучение constructor через деструктуризацию объекта
Reflect.getиспользование Reflect API
Dynamic Reflectдинамический доступ к свойствам

🏚 sandbox_v0 – эпоха без ограничений

Особенности:

  • нет ограничений на this
  • нет проверки деструктуризации
  • нет AST-анализа

Результат: все payload проходят.

Атакующий счастлив как ребёнок.


🔧 sandbox_v1 – исправление this

Изменения:

  • принудительный "use strict"
  • .call(undefined)

В результате:

root@kitploit:~
this === undefined

Заблокировано

  • CVE-2025-68613

Всё ещё работает

  • destructuring
  • Reflect

Атакующий кивает и продолжает идти другим путём.


🔒 sandbox_v2 – исправление destructuring

Добавлено:

  • AST-анализ
  • специальная проверка ObjectPattern
  • при обнаружении:
    • constructor
    • или computed key → выполнение блокируется

Заблокировано

  • this
  • destructuring

Всё ещё работает

  • Reflect.get
  • Dynamic Reflect

🧠 Что на самом деле хочет показать этот эксперимент?

Исправления по принципу чёрного списка обычно обладают:

✔ исправляют явный путь ✔ низкая стоимость ✔ легко внедрить

Но при этом:

❌ ограниченная поверхность защиты ❌ легко обходятся другими семантически эквивалентными способами доступа

Именно поэтому песочницы вроде vm2 исторически неоднократно подвергались побегу.

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