Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2025-29927-Proof-of-Concept — Desafío Capture the Flag: CVE-2025-29927 en combinación con una vulnerabilidad de inyección de comandos | Kitploit
Herramientas/GitHubGitHub/si-ni/cve-2025-29927-proof-of-concept
Descifrado de ContraseñasEscalada de PrivilegiosAnálisis de VulnerabilidadesExplotación de Aplicaciones WebCTFComando y ControlAprendizaje y Educación
GitHub

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
si-ni/cve-2025-29927-proof-of-concept

CVE-2025-29927-Proof-of-Concept

Desafío Capture the Flag: CVE-2025-29927 en combinación con una vulnerabilidad de inyección de comandos

Ver Repositorio
29hace 8 mesesAún no revisado

Walkthrough

Paso 1 (5 min)

Pista ¿Qué servicios de red expone el objetivo?

— — —

Solución

    kali@kali:~$ nmap <TARGET_IP>
    kali@kali:~$ nmap -sC -sV <TARGET_IP> -p <TARGET_PORTS>
  

Paso 2 (5 min)

Pista 1 La página de inicio solo muestra una página de inicio de sesión, pero los servidores web a menudo exponen rutas adicionales.
Pista 2 Intenta usar una herramienta de fuerza bruta de directorios como Gobuster o DirBuster.

— — —

Solución

    kali@kali:~$ gobuster dir -u http://<TARGET_IP>:<TARGET_PORT>/ -w /usr/share/wordlists/dirb/common.txt
  

    ===============================================================
    Starting gobuster in directory enumeration mode
    ===============================================================
    api                  (Status: 307) [Size: 35] [--> /api/auth/signin?callbackUrl=%2Fapi]
    apis                 (Status: 307) [Size: 36] [--> /api/auth/signin?callbackUrl=%2Fapis]
    cgi-bin/             (Status: 308) [Size: 8] [--> /cgi-bin]
    dashboard            (Status: 307) [Size: 41] [--> /api/auth/signin?callbackUrl=%2Fdashboard]
    favicon.ico          (Status: 200) [Size: 25931]
    login                (Status: 200) [Size: 6252]
    Progress: 4613 / 4613 (100.00%)
    ===============================================================
    Finished
    ===============================================================
  

Paso 3 (20 min)

Pista 1 La página /dashboard redirige a /login. ¿Puedes encontrar alguna información en la página de inicio de sesión que te permita evitar la redirección?
imagen
Pista 2 ¿Puedes encontrar algo para la versión 15.2.2 de Next.js?
Pista 3 Investiga CVE-2025-29927. Usa el proxy de Burp Suite para interceptar la solicitud y manipular los encabezados de la solicitud antes de reenviarla.

— — —

Solución

Antecedentes

Muchas aplicaciones web protegen rutas sensibles (por ejemplo, /dashboard) usando middleware. El middleware verifica la solicitud, valida las cookies de sesión y confirma los permisos del usuario. Si las comprobaciones fallan, el middleware normalmente redirige al usuario a /login.

Mecanismo de vulnerabilidad

CVE-2025-29927 es un defecto de diseño en el procesamiento de middleware de Next.js. Permite a un atacante eludir por completo la protección del middleware explotando el encabezado x-middleware-subrequest. Next.js usa este encabezado internamente para evitar bucles infinitos de middleware. Cuando se procesa una solicitud, la función runMiddleware verifica los encabezados de la solicitud:
  • Si x-middleware-subrequest está presente
  • y su valor contiene el nombre del middleware
  • entonces Next.js omite la ejecución del middleware y reenvía la solicitud directamente
Esto está destinado a ser una optimización interna, pero el defecto es que los usuarios externos también pueden configurar este encabezado.

El código vulnerable


    const subreq = params.request.headers["x-middleware-subrequest"];
    const subrequests = typeof subreq === "string" ? subreq.split(":") : [];
    if (subrequests.includes(middlewareInfo.name)) {
      result = {
        response: NextResponse.next(),
        waitUntil: Promise.resolve(),
      }
      continue;
    }
  

Para versiones 13.2.0 y posteriores

Next.js introdujo una profundidad máxima de recursión para la ejecución del middleware. Esto se implementó para evitar bucles infinitos, pero no afecta la vulnerabilidad.
x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware
Al usar este encabezado, le decimos al middleware: "Esta ya es una solicitud generada por el middleware, no ejecutes el middleware nuevamente".
imagen imagen

Solución

Next.js ahora elimina el encabezado x-middleware-subrequest de todas las solicitudes externas entrantes antes de que se ejecute el middleware. El encabezado solo se confía cuando se crea dentro del tiempo de ejecución de Next.js durante el encadenamiento legítimo de middleware. Concretamente, el valor de x-middleware-subrequest ahora se valida con una cadena hexadecimal generada aleatoriamente, lo que garantiza que solo las solicitudes de sesión internas legítimas pasen las comprobaciones de autorización. Por lo tanto, incluso si un atacante envía el encabezado, Next.js ahora puede distinguir entre una subconsulta interna real (que lleva el token generado aleatoriamente correcto) y una falsificada de un atacante externo.

Paso 4 (15 min)

Pista 1 Las cargas de archivos también están protegidas por el middleware, por lo que también debes enviar el encabezado del paso 3 con cada solicitud.
Pista 2 La entrada del usuario siempre representa un alto riesgo. ¿Qué más, además del contenido del archivo, se considera entrada del usuario aquí? ¿Y puedes encontrar alguna información en la página que revele cómo se procesa la imagen?
Pista 3 Prueba algunos nombres de archivos maliciosos. https://www.revshells.com/

— — —

Descargar herramienta