¿Qué es una vulnerabilidad File/Path Disclosure?

Información Importante Sobre el Contenido

Estas accediendo al contenido antiguo del blog. Este artículo "¿Qué es una vulnerabilidad File/Path Disclosure?" es de dominio público y no será mantenido a futuro. Cualquier error o problema acerca del contenido por favor contactate conmigo desde la sección contacto.

Una vulnerabilidad del tipo File o Path Disclosure es cuando queda al descubierto la ruta de la aplicación o script en ejecución y de esta forma saber en que directorio especificamente se encuentra el sitio web. A simple vista parece ser inofensivo, pero cuando se necesita subir maliciosamente un archivo o descargar algo indevidamente, esto es muy útil.

disclosure

Esta vulnerabilidad corresponde a un error de programación al no atajar correctamente los errores o excepciones, por ejemplo, uno de los casos mas frecuentes se da con la famosa función include o requiere (en php):

  1. <?php
  2. include($_GET[‘section’].".php");
  3. ?>

Es muy común ver en sitios web como se pasa por parámetro la sección, algo similar a https://sitio.cl/index.php?section=contacto, entonces el script index.php recibe la variable “section”, le agrega la extension .php y la incluye, pero …

¿Qué pasa cuando cambiamos contacto por letras al azar como fdsghjk?
Fácil, la función include intentará incluir el archivo fdsghjk.php y como no existe, php mostrara un error parecido a Failed to open stream: No such file or directory in /home/web/public_html/index.php y con esto, ya tenemos la ruta donde se está ejecutando la aplicación: /home/web/public_html. De esta forma se nos facilita un ataque LFI o RFI.

Información Importante Sobre el Contenido

Estas accediendo al contenido antiguo del blog. Este artículo "¿Qué es una vulnerabilidad File/Path Disclosure?" es de dominio público y no será mantenido a futuro. Cualquier error o problema acerca del contenido por favor contactate conmigo desde la sección contacto.

6 comentarios

  1. Muy buenos post Zerial, te felicito.. Se puso mas interesante el BLOG…
    Saludos!!

  2. Eres una traviesa.

  3. Zerial

    julio 14, 2009 a las 10:52 pm

    xD

  4. via @owasp, para forzar un error:
    http://site.com/index.php?page%5B%5D=about

    (en caso de que la pagina filtre, se podria forzar el error)

  5. el wp filtro el enlace del comentario anterior. la idea era hacer poner “page” como si fuese un array (page\[\]=about).

  6. Zerial

    julio 18, 2009 a las 9:36 am

    @ramonramon: Tambien el caracter %00 nos ayuda a forzar errores

    saludos

Los comentarios están cerrados.