Traversal a través del nombre de archivo

1

¿Es posible realizar un recorrido de ruta configurando el nombre de archivo de una ruta cargada para incluir una ruta? ¿Windows / Linux / cualquier otro sistema operativo permite tales nombres de archivo?

Por ejemplo, nombrar un archivo "../test.txt" (si es posible) y subirlo a un sitio web. Si el sitio web no valida el nombre del archivo, podría guardar el archivo en el directorio principal (suponiendo que los permisos de la carpeta lo permitan).

    
pregunta user1118764 11.01.2018 - 06:20
fuente

1 respuesta

3

No podría nombrar un archivo ../test.txt ya que ningún sistema de archivos (que yo sepa) permite barras diagonales dentro del nombre de archivo. (Ciertamente, no todos los sistemas de archivos POSIX).

Dicho esto, para un atacante, no importa. El nombre del archivo se envía como parte de los datos HTTP POST, que por supuesto están sujetos a manipulación por parte de un atacante:

--------------------------d74596066958873e
Content-Disposition: form-data; name="formfield"; filename="file.txt"
Content-Type: text/plain

filecontents
--------------------------d74596066958873e

Por lo tanto, un atacante puede especificar fácilmente algo distinto de "file.txt" para el campo de nombre de archivo. Si su servidor de aplicación o código de aplicación aceptará un nombre de archivo que contenga es lo que determinará si usted es vulnerable a un recorrido de directorio a través del nombre de archivo.

    
respondido por el David 11.01.2018 - 06:59
fuente

Lea otras preguntas en las etiquetas