Ejemplos de fuga de información a través de web
La fase de recopilación de información sobre el sitio que se está auditando es clave durante el proceso de auditoría. Cuanta mayor información posea el auditor, con mayor eficacia podrá detectar fallos y errores. Las fugas de información o código suelen proporcionar los datos necesarios para culminar o continuar ataques, dando peso a la auditoría. A continuación se muestran diversos casos que ejemplifican diversos escenarios habituales de fugas simples (pero graves) de información.
Caso 1: Conexiones a Base de datos en ficheros de respaldo
Un ejemplo clásico de revelación de información muy sensible es dejar la cadena de conexión al servidor de base de datos en una copia de seguridad del fichero con la lógica de la aplicación. En ella suele encontrarse la contraseña, y esto permite al atacante o auditor tomar control.

Como ejemplo de lo común que podría resultar (aunque obviamente no todos los resultados se puedan contar como una fuga), usando un buscador se pueden descubrir miles de resultados de este tipo.

Caso 2: Fugas de información generadas por el sistema operativo
Es importante tener en cuenta los ficheros generados por el sistema operativo. Por ejemplo, en el caso de Linux se podría llegar a encontrar el histórico de los comandos.

Si profundizamos en las herramientas usadas por un sistema operativo podemos encontrar que editores de texto como VIM o EMACS, generan copias de seguridad ocultas .Sin el debido cuidado, esa información puede quedar pública.
Caso 3: Errores por parte del desarrollo y el despliegue de la aplicación
Es muy común encontrar fugas de información provocadas por un mal desarrollo y que como consecuencia se revele información sobre rutas internas o la propia implementación. Un ejemplo habitual son los errores mostrados por PHP.

En la imagen se observa una fuga de información que revela tanto la ruta interna del fichero afectado, como un parámetro al que se accede directamente:

Caso 4: Manejadores de errores
También es posible que el sitio web implemente un manejador de errores como el caso de ASP.NET, elmah (Error Logging Modules and Handlers). Este muestra los errores producidos a lo largo de la vida del servidor web y si no se ha configurado correctamente estará disponible al público accediendo al "fichero" elmah.axd:

Existes múltiples manejadores de errores para cada plataforma. Además, dependiendo del manejador mostrará mayor o menor cantidad de información. Un ejemplo para PHP sería el framework Symfony, que contiene su propio manejador de errores y muestra una traza del error muy completa junto con la línea de código afectada:


Conclusión
Independientemente de la plataforma o el lenguaje que se utilice para el desarrollo de la aplicación, se pueden encontrar fugas de información que pueden comprometer la seguridad de la empresa y a su imagen. Es importante configurar correctamente los entornos, almacenar las copias de seguridad en lugar privado, aprovechar herramientas de control de versiones y no mantener copias innecesarias, además de revisar periódicamente los archivos públicos del servidor. Faast, como herramienta de pentesting persistente, tiene en cuenta este tipo de fugas de información (y muchas otras) que permitirían a un posible atacante conocer en mayor profundidad la aplicación y sus componentes, detectándolas y mostrando evidencias de la fuga. Al detectarla, Faast intenta extraer el mayor volumen de datos posible, incluyendo usuarios, versiones de software, servicios, rutas internas, etcétera, relacionando la fuga de información obtenida con el servidor que la contiene.
