🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónRecorrido 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.
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ó.
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
Preferencias
Configuraciones de cookies
Elige qué categorías permitir. Las esenciales siempre están activas. Consulta la Política de Privacidad.
Esenciales
Siempre activas · sesión, CSRF, tema y esta preferencia
Necesarias para iniciar sesión, proteger formularios (CSRF) y recordar tu elección de cookies y tema. Sin ellas la plataforma no funciona de forma segura.
Analíticos
Hoy no activos en la plataforma; listos para cuando se conecten
Nos ayudan a entender uso de cursos y páginas. Si los activas, se usarán cuando conectemos analítica; hasta entonces no se carga ningún tracker.
Marketing
Hoy no activos; campañas futuras solo con tu permiso
Comunicaciones o campañas. No activos hoy en la plataforma; quedarán listos si los conectamos y solo si los permites.