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

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

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

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

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

Категории

Все категории
Loading categories
cve-2025-29927-lab — Преднамеренно уязвимое приложение Next.js, демонстрирующее CVE-2025-29927 (обход аутентификации на основе middleware) для обучения и практики bug bounty. | Kitploit
Инструменты/GitHubGitHub/metasploit403/cve-2025-29927-lab
Аутентификация и авторизацияАнализ уязвимостейЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и ОбразованиеЛаборатории и Практика
GitHubmetasploit403/cve-2025-29927-lab

cve-2025-29927-lab

Преднамеренно уязвимое приложение Next.js, демонстрирующее CVE-2025-29927 (обход аутентификации на основе middleware) для обучения и практики bug bounty.

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
Репозиторий
15 месяцев назадЕщё не проверено

Этот репозиторий содержит намеренно уязвимое веб-приложение, созданное с использованием Next.js. Оно предназначено для демонстрации и изучения проблемы безопасности, известной как CVE-2025-29927. Цель этого проекта — помочь исследователям безопасности, студентам и баг-хантерам понять, как работает уязвимость в среде, приближенной к реальной.

[!CAUTION ] Это приложение намеренно небезопасно и никогда не должно разворачиваться в production.

🔩Назначение

  • Изучить, как работает уязвимость
  • Попрактиковаться в обнаружении и эксплуатации в безопасной среде
  • Понять последствия небезопасной обработки middleware
  • Улучшить навыки в bug bounty и веб-безопасности

🐞Уязвимость

CVE-2025-29927 связана с некорректной обработкой логики запросов в приложениях, созданных с использованием Next.js, особенно в middleware. Это может позволить злоумышленникам:

  1. Обходить проверки аутентификации или авторизации
  2. Манипулировать потоком запросов с помощью подделанных заголовков или входных данных
  3. Получать доступ к ограниченным ресурсам

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

  • app/ → Маршруты приложения
  • middleware.ts → Содержит уязвимую логику
  • api/ → Серверные конечные точки (включая защищённые маршруты)

⚙️Установка и настройка

root@kitploit:~
git clone https://github.com/metasploit403/cve-2025-29927-lab
cd cve-2025-29927-lab
npm install
npm run dev

🪲Уязвимые конечные точки

Некоторые маршруты намеренно уязвимы и могут включать

root@kitploit:~
- /api/admin/secret
- /api/internal/health
- /api/private/data

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

🔥Эксплуатация

1.Предположим, вы успешно склонировали репозиторий
2.Запустите npm run dev
3.Это запустит ваш проект локально
4.Откройте браузер по вашему выбору, например Chrome, и введите http://localhost:3000
5.Попробуйте обратиться к любой из 3 конечных точек API

- /api/admin/secret
- /api/internal/health
- /api/private/data

6.Теперь попробуйте сделать это с любой конечной точкой

- http://localhost:3000/api/admin/secret
- http://localhost:3000/api/internal/health
- http://localhost:3000/api/private/data

7.Обратите внимание, что ваш запрос блокируется, потому что вы не включили cookie в свой запрос. Это означает, что конечная точка защищена middleware. Middleware проверяет, есть ли в вашем запросе cookie, и если его нет, запрос автоматически блокируется.

8.Теперь давайте добавим cookie to our request. Для этого откройте инструменты разработчика Chrome (я использую именно Chrome, но вы можете использовать любой понравившийся браузер)

9.нажмите F12, и откроются инструменты разработчика Chrome

10.Перейдите на вкладку консоль

11.на вкладке консоли введите document.cookie="lab-auth=authenticated"

12.Теперь обновите страницу и увидите, что вы вошли в систему (login)

Имейте в виду, что middleware проверяет, содержит ли запрос cookie. Если в запросе есть cookie, вы успешно входите, а если нет — вы блокируетесь. Вопрос в том, КАК мы можем обойти проверку middleware и войти, не предоставляя cookie. Именно это позволяет нам сделать CVE-2025-29927.

Теперь давайте обойдём проверку аутентификации middleware с помощью CVE-2025-29927. Хитрость здесь просто в добавлении этого конкретного заголовка
x-middleware-subrequest: middleware. Этот заголовок должен использоваться только внутри фреймворка. Если мы добавим его, middleware перестанет проверять, есть ли в запросе cookie, и теперь любые чувствительные конечные точки в вашем приложении беззащитны.

Для эксплуатации давайте использовать cURL.
curl — это инструмент командной строки, который отправляет запросы на сервер и получает ответы.

1.Ожидайте 401 без cookie

curl.exe -i http://localhost:3000/api/admin/secret

Обратите внимание, что сервер ответил кодом состояния 307 временное перенаправление. Поскольку cookie отсутствует, нас перенаправляет на домашнюю/корневую страницу. Это означает, что мы не можем войти, пока не предоставим cookie.

2.curl.exe -i http://localhost:3000/api/admin/secret -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware"

Теперь мы добавили "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware"
Обратите внимание, что теперь у нас есть доступ и вход в систему без cookie. Это полный обход аутентификации.

🔐Митигация

Чтобы исправить подобные проблемы в реальных приложениях:

  • Никогда не доверяйте слепо заголовкам, контролируемым клиентом
  • Проверяйте все входные данные в middleware
  • Реализуйте надлежащие проверки аутентификации на стороне сервера
  • Избегайте опоры на небезопасные допущения о запросах
  • Обновитесь до исправленной версии Next.js
  • Если по какой-то причине вы не можете обновиться, удаляйте заголовок x-middleware-subrequest на обратных прокси

🫵Для кого это?

  • Баг-хантеры
  • Исследователи безопасности
  • Студенты, изучающие веб-безопасность
  • Разработчики, которые хотят понять безопасную архитектуру middleware

⛔Отказ от ответственности

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

🤝Вклад в проект

Не стесняйтесь:

  • Улучшить лабораторию
  • Добавить новые уязвимые сценарии
  • Предложить исправления или более понятные объяснения

⭐Поддержка

Если вы считаете это полезным, рассмотрите возможность поставить звёздочку репозиторию.

🏷️Теги

root@kitploit:~
- Next.js 
- Bug Bounty 
- Web Security 
- CVE-2025-29927 
- Middleware Authentication 
- Bypass
Скачать инструмент