QUE ES UN ATAQUE DE DIRECTORIO TRANSVERSAL


EN QUE CONSISTE UN ATAQUE DE DIRECTORIO TRANSVERSAL


Cuando se trata de seguridad de sitios webs, la mayoría de las personas pensarían en como protegerse de un SQL injectión , o de un cross site scripting , sin embargo hay otros tipos de vulnerabilidades que se suelen pasar por alto pese a que pueden llegar a generar un impacto igualmente negativo. En este caso hablaremos de uno de ellos, el cual se conoce como “Ataque de directorio transversal” o ataque “../”, explicando de una forma muy sencilla y básica de en que consiste esta vulnerabilidad sin necesidad de ahondar técnicamente en ello ya que el objetivo de esta post es únicamente explicar en que consiste esta vulnerabilidad.    
Para entender en que consiste un ataque de directorio transversal primero debemos comprender al menos de forma básica el como se constituye un sitio web común.

Debemos primero recordar de un sitio web no es mas que una hoja o un grupo de hojas virtuales hechas en código HTTML, enlazadas entre si que para poder estar disponibles en la web, deben si o si estar alojada en un servidor (que no es otra cosa mas que otro ordenador). Este ordenador que aloja la web al igual que cualquier otro tiene un disco duro con directorios que a su vez contiene carpetas contenedoras de archivos.  En una de estas carpetas se encuentra el gestor del servidor y la carpeta especifica que contendrá las hojas html que conforman el sitio web.

Otra cosa que debemos entender es que estos directorios permiten la navegación a través de comandos. De la misma forma en que navegamos desde una terminal en  sistemas tipo Unix o desde una CMD desde sistemas Windows, se puede navegar en los directorios de una sitio web, esto es debido a que independiente mente del punto de entrada de los comandos, eso no cambiara el hecho de que se trata del mismo disco duro con ficheros.

En este caso el comando clave es “..”. Este comando permite retroceder un directorio atrás y si lo combina con con un “\” en sistemas Windows o un “/” en sistemas Unix, podremos retroceder la cantidad de directorios que deseemos Ejemplo: 
Si tenemos un directorio de tipo “ raiz/page1/page2/page3”, en este si quisiéramos llegar al directorios “raíz”, solo tendríamos que introducir “../../../”.

El problema ocurre cuando tenemos una web y una persona malintencionada decide saltar ese directorio raíz y avanza hacia directorios incorrectamente protegidos.

Supongamos ahora que tenemos una web “web/page1/page2.php?item=img.png” disponible en la red alojada en una carpeta “main” que a su vez esta alojada en la carpeta “project”, dentro de esta carpeta “project ” a su vez esta la carpeta /etc/passwords que contiene contraseñas personales del administrador de la web. En este caso si un usuario malintencionado hallara la vulnerabilidad y localizara el parámetro que involucra alguna relación con archivos,  únicamente tendria que hacer la siguiente operación para alcanzar la carpeta main y avanzar hacia el directorio con las contraseñas:

main/web/page1/page2.php?item=../../../../etc/passwords”

En un sitio web correctamente diseñado y administrado esto no debería ser posible y debería enviar al atacante a un error de cliente 404. Sin embargo como en cualquier otra  vulnerabilidad estos errores usualmente se dan por problemas de filtración en el código backend, fronted o en la gestión del sitio mismo. Esta vulnerabilidad se puede explotar no solo a través de la URL si no a travez de otros puntos de entrada como cookies, pero ya en un próximo post abordaremos este tema y como proteger la web de este tipo de ataques.

ARTICUL0

Share this

Related Posts

Previous
Next Post »

Entrada destacada

¿CUAL ES LA DIFERENCIA ENTRE DISCO DURO, RAM, CACHE Y BUFFER?

¿CUAL ES LA DIFERENCIA ENTRE DISCO DURO, RAM, CACHÉ Y BUFFER? Es común que muchas personas se confundan respecto a las diferencias ...