Los codificadores conquistan la seguridad: serie Share & Learn: exposición de la información

«Los labios sueltos hunden barcos«fue una frase que se hizo popular en los Estados Unidos durante la Segunda Guerra Mundial. En Gran Bretaña, escuchaste que «hablar sin cuidado cuesta vidas». El punto principal del refrán era que hablar imprudentemente sobre información confidencial podía ser escuchado por los espías y tener graves consecuencias.
El mismo principio se aplica a la hora de crear aplicaciones web. Cuando tu aplicación web revela demasiada información, puede facilitar que los atacantes accedan a ella.
En esta publicación, abordaremos qué es la exposición de la información, por qué es peligrosa y cómo prevenirla.
Comprenda la exposición a la información
La exposición de la información se refiere a las aplicaciones web que exponen la información interna a quienes no deberían verla. También puede referirse a la exposición de información confidencial de los clientes a través de los archivos de registro o la interfaz de usuario. De cualquier manera, los atacantes pueden usar la información que encuentran para atacar sus sistemas o sus usuarios.
A menudo, el primer paso para un atacante es intentar crear un error en la aplicación. La gestión deficiente de los errores y la mala configuración de las aplicaciones web hacen que la información quede expuesta a mensajes de error. ¿Qué ocurre si el atacante crea un error en la aplicación? Si aparece un mensaje de error técnico que incluye detalles técnicos, como un rastreo de la pila, significa que has revelado demasiada información. Estos detalles pueden incluir la base de datos que utilizas o la versión del servidor de aplicaciones que utilizas.
La divulgación de información confidencial puede ocurrir de otras maneras. ¿Hay campos ocultos en un formulario que contengan información confidencial? Los atacantes pueden simplemente ver la fuente de la página y ver los valores.
En pocas palabras, la exposición de la información se produce cuando la información que los usuarios deberían conocer es de fácil acceso.
Comprenda por qué la exposición a la información es peligrosa
¿Qué puede hacer un atacante con la información expuesta por la aplicación? Si la información es de naturaleza confidencial, un atacante podría robar identidades o credenciales de usuario. Esto podría provocar daños económicos, violaciones de la privacidad y multas reglamentarias
Si un atacante usa mensajes de error para obtener información sobre una aplicación, esa información podría usarse en un ataque futuro. De hecho, el Guía de pruebas de OWASP tiene una sección completa sobre recopilación de información.
La Guía de pruebas de OWASP fomenta el uso de motores de búsqueda para encontrar información sobre su sitio web que quizás no desee. Por ejemplo, ¿tus páginas administrativas están expuestas a los motores de búsqueda? Usa el archivo robots.txt para indicar a los motores de búsqueda que no indexen determinadas páginas. Al mismo tiempo, el archivo robots.txt también puede filtrar información. En ocasiones, las URL confidenciales pueden residir en el archivo robots.txt. Los atacantes descartan el archivo y comienzan a conocer parte de la estructura de directorios del sitio.
Google tiene opciones avanzadas de motores de búsqueda que permiten una inspección profunda de los sitios web. Por ejemplo, puedes buscar en un sitio específico usando la <domain>sintaxis «site:». Puede ver las páginas almacenadas en caché que pueden haberse eliminado pero que aún se encuentran en la caché de un trabajo de indexación anterior. El uso de diferentes motores de búsqueda, como Bing y DuckDuckGo, puede arrojar resultados diferentes, así que prueba en cada motor de búsqueda lo que se revela sobre tu aplicación</domain> web.
Los encabezados HTTP, los banners de sitios web e incluso los comentarios en código HTML y JavaScript pueden contener información que los atacantes no deberían ver. Los encabezados HTTP pueden revelar los servidores de aplicaciones y los números de versión. Los atacantes pueden usar esta información para encontrar vulnerabilidades y utilizarlas contra esas versiones específicas. Asegúrate de conocer los distintos lugares en los que los atacantes pueden encontrar tu información y cómo ocultarla de forma adecuada.
Vence la exposición a la información
La divulgación de información suele ser un problema con la configuración de la aplicación web. Muchos servidores de aplicaciones devuelven los rastros de pila en los mensajes de error de forma predeterminada. Asegúrese de cambiar esta configuración para que las aplicaciones de producción redirijan a una página de error genérica mientras registran el error con fines de solución de problemas. Los mensajes de error detallados nunca deben devolverse al navegador del usuario.
Si tiene algún archivo necesario para la aplicación que contenga información confidencial, asegúrese de que el control de acceso adecuado garantice que solo la propia aplicación pueda leerlo. Deshabilite la lista de directorios en el servidor y mueva estos archivos fuera del directorio raíz web. Esto evita que los atacantes naveguen hasta el archivo utilizando un navegador ataque transversal de directorios.
Los registros se pueden usar para recopilar información cuando no están configurados correctamente. Cuando se produzca un error, no registre información confidencial, como contraseñas, tokens de sesión o información de identificación personal (PII). Si un atacante pudiera acceder a los archivos de registro, encontraría un tesoro de información confidencial para robar. No registre más de lo necesario, que suele ser un identificador de cuenta, un mensaje de error detallado y, tal vez, el método en el que se produjo el error o la operación que se está realizando. Suponga que los archivos de registro no son secretos y no caerá en la tentación de incluir información confidencial en ellos.
No hunda sus aplicaciones web
¿De verdad pudiste haber filtrado información mientras hablabas con un amigo, lo que llevó directamente a la pérdida de un acorazado en la Segunda Guerra Mundial? Quizá no. Pero, ¿por qué correr el riesgo? Esa es la lección del dicho: «Los labios flojos hunden barcos».
Del mismo modo, no hay razón para exponer el funcionamiento interno de su aplicación web al mundo exterior. No hay motivo para ver los números completos de las tarjetas de crédito o las contraseñas. No hay motivo para incluir datos de identificación personal en los archivos de registro. Así que no lo hagas. Consulta nuestros recursos de aprendizaje para obtener más información sobre la exposición de la información.
Mantenga el funcionamiento interno de sus aplicaciones donde corresponde. No hundas tus aplicaciones web.
¿Cree que puede detener la exposición de la información ahora mismo? Acepta el desafío, guerrero: [Empieza aquí]
Govern AI-driven development before it ships
Measure AI-assisted risk, enforce secure coding policy at commit, and accelerate secure delivery across your SDLC.
Explore more blogs
Lorem ipsum diam quis enim lobortis scelerisque fermentum dui faucibus in ornare quam viverra orci sagittis eu volutpat odio facilisis.
%252520%252520(3).avif)
Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Security as culture: How Blue Prism cultivates world-class secure developers
Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed

One Culture of Security: How Sage built their security champions program with agile secure code learning
Discover how Sage enhanced security with a flexible, relationship-focused approach, creating 200+ security champions and achieving measurable risk reduction.

Post-Quantum Cryptography: Quantum Computers Will Break Today’s Encryption – Are You Ready?
Post-quantum cryptography (PQC) is critical for protecting data from quantum computing threats. Learn how “harvest now, decrypt later” exposes risk and how developers can prepare for quantum-safe security.

Observe and Secure the ADLC: A Four-Point Framework for CISOs and Development Teams Using AI
While development teams look to make the most of GenAI’s undeniable benefits, we’d like to propose a four-point foundational framework that will allow security leaders to deploy AI coding tools and agents with a higher, more relevant standard of security best practices. It details exactly what enterprises can do to ensure safe, secure code development right now, and as agentic AI becomes an even bigger factor in the future.
Secure AI-driven development before it ships
See developer risk, enforce policy, and prevent vulnerabilities across your software development lifecycle.