Estaba trabajando con esta aplicación web, cuando alguien la probó con un lápiz y me envió un informe enorme que dice que mi aplicación es vulnerable a un ataque transversal de directorio.
Aquí hay una muestra:
Testing Path: http://127.0.0.1:80/??/etc/issue <- VULNERABLE!
Puse http://127.0.0.1:80/??/etc/issue
en mi navegador, pero me dio la página de inicio, no devolvió el archivo /etc/issue
.
Luego probé con curl
y también devolvió la página de inicio.
¿Podría alguien explicarme cómo es vulnerable mi aplicación, si no se devuelve el archivo /etc/issue
?
La aplicación está codificada en Python 2.7, con matraz como marco y Nginx como proxy inverso.
Dos muestras más del informe, junto con la respuesta correspondiente: -
-
Testing Path: http://127.0.0.1:80/??/etc/passwd <- VULNERABLE!
Solicitud GET -
app: 0|req: 1587/1587] 127.0.0.1 () {34 vars in 488 bytes} [Tue Sep 6 15:47:13 2016] GET /??/etc/passwd => generated 982 bytes in 4 msecs (HTTP/1.1 200) 2 headers in 80 bytes1
-
Testing Path: http://127.0.0.1:80/??/??/etc/passwd <- VULNERABLE!
Solicitud GET -
app: 0|req: 1591/1591] 127.0.0.1 () {34 vars in 493 bytes} [Tue Sep 6 15:47:14 2016] GET /??/??/etc/passwd => generated 982 bytes in 5 msecs (HTTP/1.1 200) 2 headers in 80 bytes