El rincón de Zerial

Informática, GNU/Linux, Seguridad, Hacking, Programación, Ocio

¿Qué es una vulnerabilidad File/Path Disclosure?

Julio 13th, 2009 · 6 Comentarios

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 http://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.

Posts más comentados

Etiquetas: Hacking · Programación · Seguridad · Tips

6 respuestas hasta ahora ↓

  • 1
    MagnoBalt // Jul 13, 2009 a las 9:51 pm

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

  • 2
    Panic // Jul 14, 2009 a las 8:52 pm

    Eres una traviesa.

  • 3
    Zerial // Jul 14, 2009 a las 10:52 pm

    xD

  • 4
    ramonramon // Jul 18, 2009 a las 2:07 am

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

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

  • 5
    ramonramon // Jul 18, 2009 a las 2:14 am

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

  • 6
    Zerial // Jul 18, 2009 a las 9:36 am

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

    saludos

Deja un Comentario