Una petición a /download?file=../../etc/passwd devuelve el archivo del sistema. Esto es…
Opciones
- Path traversal (Opción correcta)
- SQL injection
- CSRF
- Race condition
Respuesta
Path traversal
Por qué
../ significa 'subir una carpeta'. Encadenándolos, el atacante escapa de la carpeta de descargas y lee cualquier archivo al que pueda acceder el servidor.
Eso es path traversal.
Solución: nunca uses la entrada cruda del usuario como ruta de archivo. Asocia IDs a archivos en el servidor, o resuelve la ruta final y comprueba que sigue dentro de la carpeta permitida.
Recuerda
Entrada del usuario en rutas de archivo → riesgo de path traversal.