diferencia entre el recorrido del directorio y la inclusión del archivo

8

Supongo que el título lo dice todo. Parece que no hay una diferencia obvia entre el cruce de directorios y las vulnerabilidades de inclusión de archivos.

Pero supongo que debe haber alguna diferencia, ya que www.cvedetails.com utiliza las siguientes categorizaciones:

 Bypass a restriction or similar 
 Cross Site Scripting 
 Denial of service 
 Directory Traversal 
 Execute arbitrary code on vulnerable system 
 Gain Privileges
 Http Response Splitting 
 Memory Corruption 
 Obtain information 
 Overflow vulnerability (includes stack and heap based overflows and other overflows) 
 Cross site request forgery(CSRF) 
 File Inclusion 
 Sql Injection

Entre estos podemos observar tanto recorrido de directorio como inclusión de archivos , por lo que deben ser diferentes de alguna manera.

    
pregunta eleanor 17.02.2012 - 20:11
fuente

3 respuestas

9

Básicamente, la diferencia es que con una vulnerabilidad de inclusión de archivos, el recurso se carga y se ejecuta en el contexto de la aplicación actual. Por otra parte, una vulnerabilidad de directorio transversal, solo le da la capacidad de leer el recurso.

    
respondido por el Gerry 18.02.2012 - 08:05
fuente
6

Archivos de ejemplo:

  • El archivo A es ../../../../configure.php

  • El archivo B es index.php

Hay una diferencia entre poder recorrer directorios para acceder al archivo A (por ejemplo) para leer su contenido, y poder incluir el contenido del archivo A, ya sea local o remoto, en la ejecución de la página. de otro archivo.

Si existía un recorrido de directorio para dar acceso al atacante al archivo A, al menos no deberían poder leer su contenido. Sin embargo, si el archivo B tiene esta línea (o similar):

if ( isset( $_GET[ 'id' ] ) ) include( $_GET[ 'id' ] . ".php" );

Entonces es posible tener el contenido del archivo A incluido en la codificación base64, en el archivo B en lo que se llama un ataque de inclusión de archivos locales.

index.php?id=php://filter/read=convert.base64-encode/resource=../../../../config

Así es como entiendo la diferencia.

    
respondido por el Taipo 17.02.2012 - 20:42
fuente
0

La principal diferencia entre LFI y Directory Traversal es la siguiente

LFI : TI tiene capacidad para ejecutar archivos. Puede ser un código de shell u otro archivo local que existe en el sistema

Recorrido de directorio : solo recorre los archivos, por lo que solo podemos leerlo. No puede ejecutar archivos. Este es un tipo de divulgación de información sensible

    
respondido por el Praveen 29.11.2018 - 05:35
fuente

Lea otras preguntas en las etiquetas