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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2018-15133-PoC — Эксплоит на Python для CVE-2018-15133, позволяющий выполнить удалённый код на уязвимых приложениях Laravel через небезопасную десериализацию зашифрованных сессий с использованием известного APP_KEY. | Kitploit
Инструменты/GitHubGitHub/loaxert/cve-2018-15133-poc
Генерация полезной нагрузкиАнализ уязвимостейАнализ КодаЭксплуатацияЭксплуатация веб-приложенийТестирование на Проникновение
GitHubloaxert/cve-2018-15133-poc

CVE-2018-15133-PoC

Эксплоит на Python для CVE-2018-15133, позволяющий выполнить удалённый код на уязвимых приложениях Laravel через небезопасную десериализацию зашифрованных сессий с использованием известного APP_KEY.

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

Популярное

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

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

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

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

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

CVE-2018-15133-PoC

Этот скрипт на Python реализует эксплойт удаленного выполнения кода (RCE) для уязвимых приложений Laravel через небезопасную десериализацию, основанный на уязвимости CVE-2018-15133.

Эксплойт использует уязвимость в Laravel (версии 5.5.40 и ниже, а также 5.6.0 – 5.6.29), при которой зашифрованные сессии автоматически десериализуются без надлежащей проверки. Имея доступ к ключу APP_KEY Laravel, атакующий может зашифровать вредоносные полезные нагрузки, которые будут десериализованы и выполнены на сервере.

Работа системы сессий Laravel

Laravel использует механизм симметричного шифрования для сессий с тремя компонентами:

  • IV (Initialization Vector): случайный вектор инициализации, создаваемый для каждой сессии

  • Value: значение, зашифрованное с помощью AES-128-CBC или AES-256-CBC

  • MAC: код аутентификации сообщения (HMAC-SHA256), вычисленный на основе IV + value + APP_KEY

Процесс:

  • Получает три входных параметра: ключ APP_KEY Laravel в формате base64, команду для выполнения и целевой домен

  • Вызывает инструмент PHPGGC с цепочкой гаджетов Laravel/RCE5 для генерации строки вредоносных PHP-объектов

  • Формирует команду операционной системы, которая будет выполнена на сервере жертвы (например: system('whoami');)

  • Генерирует сериализованную PHP-нагрузку, содержащую связанные гаджеты

  • Декодирует нагрузку из base64 в двоичный формат

  • Обрабатывает ключ APP_KEY, удаляя префикс "base64:", если он присутствует

  • Дополняет необходимый padding, чтобы ключ стал корректным base64

  • Декодирует ключ из base64 в байты

  • Генерирует случайный вектор инициализации (IV) размером 16 байт

  • Шифрует нагрузку с помощью AES в режиме CBC с использованием ключа и IV

  • Применяет padding PKCS7 к нагрузке перед шифрованием

  • Кодирует IV в base64

  • Кодирует шифротекст (зашифрованную нагрузку) в base64

  • Конкатенирует IV и значение в base64 как сообщение для HMAC

  • Вычисляет MAC с помощью HMAC-SHA256 на основе конкатенированного сообщения с ключом в качестве секрета

  • Строит JSON-объект с тремя полями: iv, value и mac

  • Кодирует полный JSON в base64

  • Формирует HTTP-запрос с помощью curl, помещая полезную нагрузку в cookie laravel_session

  • Отправляет запрос на целевой домен

  • Сервер Laravel получает cookie и декодирует base64

  • Laravel проверяет целостность MAC по полученным IV и value

  • Laravel расшифровывает содержимое с помощью AES-CBC, используя свой APP_KEY

  • Laravel автоматически десериализует расшифрованное содержимое

  • PHP вызывает магические функции __destruct() или __wakeup() десериализованных объектов

  • Запускается цепочка гаджетов, завершающаяся вызовом call_user_func() или eval()

  • Команда операционной системы выполняется на сервере

Эксплойт использует цепочки гаджетов, объединяющие вызовы магических функций PHP:

Во время десериализации PHP автоматически вызывает __destruct() или __wakeup(), запуская цепочку, которая завершается eval(), выполняющим произвольный код.

Предварительные требования Чтобы эксплойт сработал, атакующему необходимы:

  • Ключ APP_KEY Laravel (полученный через утечку переменных окружения, открытые S3-корзины, исходный код и т.д.)

  • Уязвимая версия Laravel с включенной по умолчанию десериализацией

  • PHPGGC, установленный в каталог ./phpggc/ https://github.com/ambionics/phpggc

Пример использования

root@kitploit:~
python exploit.py "base64:dGhpc2lzYXNlY3JldGtleQ==" "whoami" "http://target.htb"
Эта команда создаст сериализованную нагрузку, которая выполнит whoami, когда Laravel десериализует сессию.
Скачать инструмент