July 11, 2026
Path Traversal: Qué es y por qué debería preocuparte.
En ciberseguridad, hay fallos complejos y luego está el Path Traversal (o Directory Traversal). Aunque suena técnico, su lógica es…

By Demegorash
2 min read
En ciberseguridad, hay fallos complejos y luego está el Path Traversal (o Directory Traversal). Aunque suena técnico, su lógica es ridículamente simple, pero el daño que puede causar es masivo si una aplicación web está mal programada.
¿De qué va esto exactamente?
Básicamente, es saltarse los límites. Ocurre cuando una aplicación le pide al usuario una ruta de archivo (por ejemplo, para mostrar una imagen o cargar un PDF), pero no valida lo que recibe.
Un atacante se aprovecha de esto manipulando la entrada. En lugar de pedir foto.jpg, inyecta secuencias para "escalar" hacia atrás en los directorios del servidor. El objetivo es salirse de la carpeta web permitida y fisgonear en las entrañas del sistema operativo.
El botín: ¿Qué busca un atacante?
Si la aplicación es vulnerable, el servidor se convierte en un libro abierto. Alguien con malas intenciones podría llegar a leer:
- El código fuente: Para buscar más vulnerabilidades, contraseñas hardcodeadas o lógica de negocio expuesta.
- Archivos de configuración: Credenciales de bases de datos, APIs o claves de cifrado.
- Archivos del sistema: En Linux, el clásico
/etc/passwdpara mapear usuarios; en Windows, archivos de registro o SAM si la configuración es desastrosa.
Al final, este acceso casi nunca se queda en una simple lectura; suele ser el trampolín perfecto para un ataque mucho peor.
¿Hasta dónde llega el riesgo?
Depende de los privilegios que tenga el proceso que ejecuta la aplicación.
En el mejor de los casos (para el defensor), el atacante solo lee información confidencial. Pero si el servidor web corre con permisos excesivos (como root o Administrator) o si la función vulnerable permite escritura, la cosa se pone fea. Podrían modificar archivos del sistema, inyectar código malicioso (una web shell) y, directamente, tomar el control total de la máquina.
¿Cómo se abre esta brecha?
La raíz del problema es la confianza ciega en el usuario. El desarrollador suele asumir que el navegador solo enviará nombres de archivo legítimos. Pero si metes la entrada directamente en las funciones del sistema de archivos sin sanitizarla, estás dejando la puerta abierta para que jueguen con la ruta.
¿Cómo se frena esto en producción?
Para evitar que te rompan el sistema con algo tan básico, hay que aplicar varias capas de defensa:
- No confíes en los inputs: Nunca uses datos del usuario directamente para construir rutas de archivos.
- Listas blancas (White-Lists): Si la aplicación solo debe cargar tres archivos específicos, valida que el input coincida exactamente con esa lista. No aceptes variables arbitrarias.
- Usa identificadores: En lugar de pedir un archivo por su nombre (
/ver?file=documento.pdf), usa un ID o un hash guardado en una base de datos (/ver?id=42). - Principio de mínimo privilegio: El servidor web debe tener los permisos justos para funcionar. Si no necesita escribir en el sistema, quítale los permisos de escritura.
El Path Traversal es un fallo de lógica de manual. Puede parecer un descuido menor, pero darle a un atacante la capacidad de explorar el sistema de archivos es una invitación formal a que comprometa toda tu infraestructura. La validación estricta en el código no es opcional, es el mínimo requerido.
Gracias por tu apoyo! buymeacoffee.com/demegorash