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

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

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

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

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

Категории

Все категории
Loading categories
gitlab-rce-demo — Автономное демо RCE для GitLab, эксплуатирующее две ошибки повреждения памяти в парсере Oj для Ruby через рендеринг диффов блокнотов. | Kitploit
Инструменты/GitHubGitHub/wupco/gitlab-rce-demo
ЭксплуатацияЭксплуатация веб-приложенийЭксплуатация Бинарных ФайловЛаборатории и Практика
GitHubwupco/gitlab-rce-demo

gitlab-rce-demo

Автономное демо RCE для GitLab, эксплуатирующее две ошибки повреждения памяти в парсере Oj для Ruby через рендеринг диффов блокнотов.

Репозиторий
942231 месяц назадПроверено Kitploit

Популярное

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

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

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

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

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

GitLab Oj RCE Демо

Этот репозиторий содержит автономную демонстрацию цепочки RCE через notebook-diff в GitLab, описанной в нашем исследовании. Он запускает свежий контейнер GitLab 18.11.3, создаёт обычного пользователя через публичный HTTP-интерфейс и выполняет PoC против этого экземпляра.

Технические подробности: Going depthfirst: Achieving GitLab RCE via Two Ruby Memory Corruption Vulnerabilities

Требования

  • Linux на x86-64 (amd64)
  • Docker Engine с Docker Compose v2
  • Bash, Python 3, curl, Git, iproute2 и netcat

Запуск демо

Сначала создайте свежее окружение GitLab:

root@kitploit:~
./setup_env.sh

Этот скрипт удаляет предыдущий контейнер демо и его тома, запускает GitLab, ожидает его готовности и создаёт обычного пользователя. Первичная загрузка GitLab может занять несколько минут.

Откройте два терминала. Запустите прослушиватель обратных вызовов в первом:

root@kitploit:~
./run_poc.sh listen 4555

Запустите эксплойт во втором:

root@kitploit:~
./run_poc.sh exploit 4555

Когда придёт обратный вызов, переключитесь на терминал прослушивателя и выполняйте команды, например id или whoami. Время поиска ASLR варьируется от запуска к запуску.

Успешный запуск демо

Как это работает

GitLab отображает диффы Jupyter notebook, передавая управляемый репозиторием JSON в Oj — нативный парсер JSON для Ruby. Цепочка сочетает две ошибки парсера: одна повреждает состояние парсера и в итоге управляет указателем обратного вызова, а другая раскрывает указатель на кучу, который используется для сужения поиска ASLR. PoC загружает предварительно вычисленную таблицу поиска, находит соответствующую компоновку библиотеки через обычные HTTP-запросы к GitLab и заставляет Puma worker подключиться обратно к прослушивателю от имени пользователя git.

Используйте эту демонстрацию только во включённой локальной лабораторной среде.

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