# Information Disclosure

- **Que es el Information Disclosure?**
El Information Disclosure, tambien conocido como Information Leak, basicamente es, que una pagina web, revela informacion sensible, a los usuarios. Dependiendo del contexto,la pagina web puede lakear:
* Data sobre otros usuarios
* Datos sensibles sobre el comercio
* Detalles tecnicos sobre la pagina web y su infraestructura
----------------------------------------------
Los problemas de lakear datos sensibles sobre usuarios o sobre el comercio, es totalmente obvio. Aunque esta informacion a veces, tiene un limite de uso, puede ser potencialmente un punto de empiece, para futuros ataques.
- **Algunos Ejemplos de Information Disclosure**
* Revelar el nombre de directorios ocultos, su estructura, y su contenido gracias al archivo robots.txt
* Permitir acceso a archivos desde el codigo fuente
* Mencionar explicitamente la base de datos, o la columna, en el mensaje de error
* Enseñar informacion altamente sensible, como tarjetas de credito.
* Hard-coding claves de API, Direcciones IP, Credenciales de bases de datos
- **Como aparecen las vulnerabilidades Information Disclosure?**
* Fallos a la hora de remover contenido interno desde el contenido publico
* Configuracion insegura de la pagina web, y de las tecnologias relacionadas
------------------------------------------------------------------------
- **Como prevenir vulnerabilidades de Information Disclosure**
Intentar prevenir este ataque puede ser algo complicado debido a la variedad de maneras en las cuales puede ocurrir. De todas formas, hay algunas buenas practicas las cuales sirven para minimizar el riesgo.
--------------------------------------------------------
* Estar seguro de que toda la compañia sabe que informacion es sensible. Algo que se ve inofensivo, puede ser algo totalmente perjudicial.
* Auditar cualquier codigo para buscar datos sensibles.
* Usar mensajes de error los mas genericos posibles.
-------------------------------------------------------
- Ejemplos:
-------------------------------------------------------
- Ejemplo 1

Segun entramos en la pagina web veriamos que es una pagina web normal y corriente, si vamos a ver los detalles veriamos que el parametro en la url

Vemos que el productId es igual 1, y nosotros podemos modificar este 1, por otro numero, o por un lfi por ejemplo:

Y, bingo! veriamos que en el error tenemos un Apache Struts 2 2.3.31, que si buscamos veriamos que hay un exploit con un rce.
- Ejemplo 2

Una vez aqui iriamos al codigo fuente, y vemos que nos da un directorio:

Y ya tendriamos el laboratorio hecho.
## Github WorkFlow
Se tiene una alta probabilidad de producirse hallazgos críticos si se busca de manera correcta en repositorios que tengan relacion a una pagina en particular.Casi todos los desarrolladores usan GitHub para almacenar su código fuente. Entonces, a veces los desarrolladores cargarán credenciales en su código fuente y archivos de configuracion que todos pueden ver.Esto se podria usar como backdoor de dicho sitio web.

La búsqueda de información sensible en GitHub es una técnica que mucha gente está utilizando para comprometer a las organizaciones. Casi todos los desarrolladores utiliza GitHub para gestionar y almacenar su código fuente. Con un poco de reconocimiento se puede encontrar estos repositorios y si se tiene suerte encontrarás algunas credenciales que se pueden utilizar para iniciar sesión en su aplicación o servidor.