Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Recorrido de rutas y subida de archivos

5 tareas · 40 min · Principiante

Dos funciones que tocan el sistema de archivos del servidor. En la descarga, la entrada decide qué archivo se lee (recorrido de rutas, CWE-22; prueba WSTG-ATHZ-01). En la subida, la entrada decide qué archivo se guarda y dónde (CWE-434; pruebas WSTG-BUSL-08 y WSTG-BUSL-09, versión 4.2 de la guía de OWASP). Lees la evidencia de las dos en Papelería Trapiche, con archivos de texto inertes que plantó el equipo de evaluación y sin ejecutar nada en el servidor, y redactas lo que probaron y lo que quedó sin probar.

0 de 5 · 0%

Objetivo de la sala

Dos funciones que tocan el sistema de archivos del servidor. En la descarga, la entrada decide qué archivo se lee (recorrido de rutas, CWE-22; prueba WSTG-ATHZ-01). En la subida, la entrada decide qué archivo se guarda y dónde (CWE-434; pruebas WSTG-BUSL-08 y WSTG-BUSL-09, versión 4.2 de la guía de OWASP). Lees la evidencia de las dos en Papelería Trapiche, con archivos de texto inertes que plantó el equipo de evaluación y sin ejecutar nada en el servidor, y redactas lo que probaron y lo que quedó sin probar.

En el recorrido de rutas, el código une una carpeta base con un nombre que envía la persona y abre el resultado. Si el nombre trae referencias a la carpeta superior, el resultado puede quedar fuera de la carpeta base. El fallo no está en el archivo que se alcanzó, sino en que nadie comprobó que la ruta final siguiera dentro de donde debía.

Abre descargas-codigo.txt y descargas-pruebas.txt. La prueba D-02 usó un archivo de texto que el propio equipo dejó plantado en la carpeta superior: no se pidió ningún archivo real del sistema.

Responde para continuar

¿Cuál es la causa del recorrido de rutas en la descarga de facturas?

Ver pista de ayuda

Mira la segunda línea del código: lo que se une y lo que no se comprueba después.

La evidencia de un recorrido de rutas es un archivo que vive fuera del directorio que la función debería poder leer. Un buen registro incluye el control: pedir ese mismo nombre sin subir de carpeta y comprobar que no existe dentro de la carpeta de facturas. Con eso queda claro que lo que se leyó está en otro sitio.

Responde para continuar

Escribe el nombre del archivo que el servidor devolvió desde fuera de la carpeta de facturas.

Ver pista de ayuda

Compara D-02 con D-03: el mismo nombre responde 200 en una y 404 en la otra.

Una subida de archivos segura no confía en nada de lo que dice el cliente: ni en el tipo declarado, ni en el nombre, ni en la extensión. El tipo declarado es una cabecera que escribe quien envía, de modo que comprobarla no valida el archivo. La evidencia S-02 y S-03 lo demuestra con el mismo archivo: solo cambió lo que el cliente dijo que era.

Abre subida-codigo.txt y mira qué lee el código antes de aceptar o rechazar.

Responde para continuar

Escribe el nombre de la cabecera que es la única comprobación que hace la subida de la foto.

Ver pista de ayuda

Es lo que el código lee en la primera línea de la función, antes de decidir si rechaza.

CWE-434 recoge las medidas que juntas cierran el riesgo: una lista de extensiones permitidas validada en el servidor, comprobar el contenido real del archivo y no solo su nombre ni su tipo declarado, generar el nombre en el servidor en lugar de usar el que envía el cliente, y guardar los archivos fuera de la raíz pública o en un lugar donde no se ejecuten scripts. Ninguna sola basta. Limitar el tamaño es una buena práctica, pero no corrige este fallo, y esconder el nombre de la carpeta no es un control.

Responde para continuar

¿Qué corrección propones para la subida de fotos?

Ver pista de ayuda

Cada pieza cierra un camino distinto; ninguna depende de que lo que diga el cliente sea cierto.

Un hallazgo honesto separa lo confirmado de lo potencial. Aquí se confirmó que el servidor acepta un archivo cuyo tipo declarado es falso y que el directorio de subidas tiene habilitada la ejecución de scripts. No se probó ejecutar nada, porque el alcance no lo autoriza. El informe lo dice así, con el impacto potencial (ejecución de código) y la petición de confirmarlo en un entorno autorizado, en lugar de afirmar una ejecución que no ocurrió.

Responde para continuar

¿Cómo redactas la severidad de la subida de archivos de Trapiche?

Ver pista de ayuda

Mira qué dice servidor-subidas.txt sobre lo que se probó.

Inicia sesión para registrar tus puntos y progreso en el ranking.

Whoami-Labs Pro

Whoami-Labs Pro utiliza cookies

Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad