b'\n_START_ARTICLE_\nDirectory traversal\n_START_PARAGRAPH_\nUn directory traversal (o path traversal) consiste en explotar una vulnerabilidad inform\xc3\xa1tica que ocurre cuando no existe suficiente seguridad en cuanto a la validaci\xc3\xb3n de un usuario, permiti\xc3\xa9ndole acceder a cualquier tipo de directorio superior (padre) sin ning\xc3\xban control._NEWLINE_La finalidad de este ataque es ordenar a la aplicaci\xc3\xb3n a acceder a un archivo al que no deber\xc3\xada poder acceder o no deber\xc3\xada ser accesible. Este ataque se basa en la falta de seguridad en el c\xc3\xb3digo. El software est\xc3\xa1 actuando exactamente como debe actuar y en este caso el atacante no est\xc3\xa1 aprovechando un bug en el c\xc3\xb3digo._NEWLINE_Directory traversal tambi\xc3\xa9n es conocido como el ../ ataque punto punto barra, escalado de directorios y backtracking.\n_START_SECTION_\nEjemplo\n_START_PARAGRAPH_\nUn ejemplo t\xc3\xadpico de una aplicaci\xc3\xb3n vulnerable es:_NEWLINE_<?php$template = \'blue.php\';if ( isset( $_COOKIE[\'TEMPLATE\'] ) )_NEWLINE_   $template = $_COOKIE[\'TEMPLATE\'];include ( "/home/users/phpguru/templates/" . $template );?>_NEWLINE_Un ataque contra este sistema podr\xc3\xada ser mandar la siguiente petici\xc3\xb3n de HTTP:_NEWLINE_GET /vulnerable.php HTTP/1.0_NEWLINE_Cookie: TEMPLATE=../../../../../../../../../etc/passwd_NEWLINE__NEWLINE_Generando el servidor una respuesta como:_NEWLINE_HTTP/1.0 200 OK_NEWLINE_Content-Type: text/html_NEWLINE_Server: Apache_NEWLINE__NEWLINE_root:fi3sED95ibqR6:0:1:System Operator:/:/bin/ksh _NEWLINE_daemon:*:1:1::/tmp: _NEWLINE_phpguru:f8fk3j1OIf31.:182:100:Developer:/home/users/phpguru/:/bin/csh_NEWLINE_La repetici\xc3\xb3n de los caracteres ../ despu\xc3\xa9s de /home/users/phpguru/templates/ ha causado que el c\xc3\xb3digo include() penetre hasta el directorio ra\xc3\xadz y entonces fuese al directorio de contrase\xc3\xb1as de UNIX "/etc/passwd"._NEWLINE_El archivo de contrase\xc3\xb1as de UNIX es un archivo que se utiliza com\xc3\xbanmente para realizar el directory traversal, y es utilizado frecuentemente para crackear las contrase\xc3\xb1as.\n_START_SECTION_\nVariaciones de directory traversal\n_START_PARAGRAPH_\nDirectory traversal es m\xc3\xa1s complicado de prevenir de lo que puede parecer. Una estrategia de filtrar los caracteres que puedan suponer una amenaza es probable que falle._NEWLINE_Hay muchos m\xc3\xa1s factores implicados que pueden determinar el funcionamiento de un ataque directory traversal. Sin embargo, si la aplicaci\xc3\xb3n no valida la legitimidad de los par\xc3\xa1metros, es bastante probable que los atacantes tengan muchas probabilidades de explotar esta funcionalidad para prop\xc3\xb3sitos maliciosos._NEWLINE_A continuaci\xc3\xb3n se listan algunas de las cadenas de ataques directory traversal conocidas:\n_START_SECTION_\nDirectory traversal en UNIX\n_START_PARAGRAPH_\nEn los sistemas Unix o similares se utiliza los caracteres ../, para realizar el directory traversal.\n_START_SECTION_\nDirectory traversal en Microsoft Windows\n_START_PARAGRAPH_\nEn Microsoft Windows o DOS el directory traversal se realiza mediante ..\\. _NEWLINE_Actualmente, muchos programas para Windows o APIs aceptan adem\xc3\xa1s los caracteres utilizados para directory traversal en sistemas Unix o similares. _NEWLINE_Cada partici\xc3\xb3n tiene un directorio ra\xc3\xadz (nombrado C:\\  para una partici\xc3\xb3n particular C) y no existen un directorio com\xc3\xban ra\xc3\xadz por encima de \xc3\xa9ste. Esto quiere decir que las vulnerabilidades de directorio en Windows est\xc3\xa1n limitadas a una \xc3\xbanica partici\xc3\xb3n.'