Está en la página 1de 10

Actividad Evaluativa Eje 2 Seguridad De Aplicaciones

Vulnerabilidades en aplicaciones WEB

Presentado Por:

Luis David Morales Puche

Fundación Universitaria Del Area Andina


Facultad De Ingenierías Y Ciencias Básicas
Seguridad En Aplicaciones - 202410-1A - 12
Andres Alfonso Cardenas Rojas
Marzo 18 2024
INTRODUCCIÓN

Las aplicaciones web son herramientas esenciales para las empresas, pero también son
susceptibles a diversos tipos de vulnerabilidades que pueden afectar su seguridad y
confiabilidad. Estas vulnerabilidades pueden ser explotadas por atacantes para obtener acceso
no autorizado a la aplicación, robar datos sensibles o incluso inhabilitarla por completo.
Las vulnerabilidades en aplicaciones web son debilidades o errores en el código o la
configuración de la aplicación que pueden ser explotados por atacantes.
TALLER

SOLUCIÓN

A. Análisis de vulnerabilidades en aplicaciones web:


1. Entradas invalidadas:
Descripción: El usuario introduce datos inesperados que causan errores o ejecutan código
malicioso.
Mecanismo de explotación:
El usuario introduce un comando SQL en un campo de texto que no está validado.
El usuario introduce una secuencia de comandos en un campo de entrada que no está
validado.
El usuario introduce un archivo malicioso que se ejecuta en el servidor.
Ejemplo real de ataque:
Ataque de inyección SQL: El usuario introduce un comando SQL en un campo de búsqueda
que no está validado y obtiene acceso a información sensible de la base de datos.
Medidas de mitigación:
Validar la entrada del usuario para asegurarse de que solo se permiten datos válidos.
Filtrar caracteres especiales que podrían ser utilizados para inyectar código.
Usar técnicas de saneamiento de entrada para eliminar caracteres maliciosos.
2. Fallos de control de acceso:

Descripción: El usuario accede a recursos o funcionalidades no autorizadas.


Mecanismo de explotación:
El usuario modifica la URL de una página web para acceder a una página restringida.
El usuario adivina o roba la contraseña de un usuario con privilegios más altos.
El usuario explota una vulnerabilidad en el sistema de control de acceso para obtener acceso
no autorizado.
Ejemplo real de ataque:
Ataque de fuerza bruta: El atacante utiliza un software para adivinar la contraseña de un
usuario.
Medidas de mitigación:
Implementar un sistema de control de acceso basado en roles.
Utilizar contraseñas seguras y difíciles de adivinar.
Implementar mecanismos de autenticación multifactor.

3. Fallos en la administración de autenticación y sesión:

Descripción: Las sesiones de usuario son robadas o manipuladas.


Mecanismo de explotación:
El atacante roba la cookie de sesión del usuario.
El atacante explota una vulnerabilidad en el sistema de autenticación para obtener acceso a la
sesión de un usuario.
Ejemplo real de ataque:
Ataque de secuestro de sesión: El atacante roba la cookie de sesión del usuario y la utiliza
para acceder a su cuenta.
Medidas de mitigación:
Utilizar cookies de sesión seguras con atributos como "HttpOnly" y "Secure".
Invalidar las sesiones de usuario después de un período de inactividad.
Implementar mecanismos de detección de fraude y robo de sesión.

4. Fallos de Cross Site Scripting (XSS):

Descripción: Se inyecta código JavaScript malicioso en la aplicación web.


Mecanismo de explotación:
El atacante inyecta código JavaScript en un comentario de un blog.
El atacante envía un correo electrónico con un enlace que contiene código JavaScript
malicioso.
El atacante inyecta código JavaScript en una página web que es visitada por el usuario.
Ejemplo real de ataque:
Ataque de XSS reflejado: El atacante inyecta código JavaScript en un comentario de un blog
y el código se ejecuta cuando el usuario visita la página.
Medidas de mitigación:
Validar la entrada del usuario para eliminar caracteres especiales que podrían ser utilizados
para inyectar código.
Codificar la salida HTML para evitar que se interprete código JavaScript.
Implementar una política de Content Security Policy (CSP).

5. Desbordamiento del búffer:

Descripción: Se escribe una cantidad excesiva de datos en un búffer, lo que puede permitir la
ejecución de código arbitrario.
Mecanismo de explotación:
El atacante envía una cadena larga a un campo de entrada que no está validado.
El atacante explota una vulnerabilidad en el software que utiliza la aplicación web.
Ejemplo real de ataque:

Ataque de desbordamiento del búffer en el servidor web Apache.


Medidas de mitigación:
Validar la longitud de la entrada del usuario para evitar que se desborde el búffer.
Utilizar software con mecanismos de protección contra desbordamientos de búffer.
Implementar técnicas de mitigación como ASLR y DEP.

6. Inyección de código:

Descripción:
La inyección de código es una vulnerabilidad que permite a un atacante inyectar código
malicioso en una aplicación web. Este código puede ser ejecutado por la aplicación, lo que
puede permitir al atacante obtener acceso no autorizado a la aplicación, robar datos sensibles
o incluso inhabilitarla por completo.
Mecanismo de explotación:
La inyección de código puede ocurrir de diversas maneras, incluyendo:
Inyección de SQL: El atacante inyecta un comando SQL en un campo de entrada que no está
validado. Este comando puede ser utilizado para acceder a la base de datos de la aplicación
web y robar datos sensibles.
Inyección de código PHP: El atacante inyecta código PHP en un formulario de carga de
archivos. Este código puede ser ejecutado por el servidor web cuando se carga el archivo, lo
que puede permitir al atacante obtener acceso no autorizado al servidor.
Inyección de JavaScript: El atacante inyecta código JavaScript en una página web que es
visitada por el usuario. Este código puede ser ejecutado por el navegador del usuario, lo que
puede permitir al atacante robar información del usuario o redirigirlo a un sitio web
malicioso.
Ejemplo real de ataque:
En 2013, la empresa Target sufrió un ataque de inyección de SQL que le costó millones de
dólares. El ataque se produjo cuando un atacante inyectó un comando SQL en un campo de
búsqueda del sitio web de Target. Este comando permitió al atacante acceder a la base de
datos de la empresa y robar información personal de millones de clientes.

7. Fallas en el manejo de errores:

Descripción: La aplicación web revela información sensible al usuario en caso de error.


Mecanismo de explotación:
La aplicación web muestra un mensaje de error que contiene información de la base de datos.
La aplicación web registra información sensible en archivos de log que son accesibles al
usuario.
Ejemplo real de ataque:
Ataque de divulgación de información: La aplicación web muestra un mensaje de error que
contiene la contraseña de la base de datos.
Medidas de mitigación:
Registrar solo información no sensible en los archivos de log.
Mostrar mensajes de error genéricos que no revelen información sensible.
Implementar mecanismos de control de errores para evitar que se revelen datos sensibles.

8. Almacenamiento inseguro:

Descripción: Las contraseñas y otros datos sensibles son almacenados de forma insegura.
Mecanismo de explotación:
El atacante obtiene acceso a la base de datos de la aplicación web y roba las contraseñas
almacenadas.
El atacante explota una vulnerabilidad en el software que utiliza la aplicación web para
obtener acceso a los datos almacenados.
Ejemplo real de ataque:
Robo de contraseñas de la base de datos de una empresa.
Medidas de mitigación:
Almacenar las contraseñas y otros datos sensibles utilizando un algoritmo de hash seguro.
Implementar un sistema de gestión de claves para proteger las claves de cifrado.
Limitar el acceso a los datos sensibles a los usuarios que lo necesitan.
9. Denegación de servicio:

Descripción: Se sobrecarga la aplicación web con solicitudes, impidiendo su funcionamiento


normal.
Mecanismo de explotación:
El atacante envía una gran cantidad de solicitudes a la aplicación web.
El atacante explota una vulnerabilidad en el software que utiliza la aplicación web para
generar una gran cantidad de tráfico.
Ejemplo real de ataque:
Ataque DDoS contra un sitio web de comercio electrónico.
Medidas de mitigación:
Implementar mecanismos de defensa contra ataques DDoS.
Limitar el número de solicitudes que un usuario puede realizar en un período de tiempo.
Utilizar una red de servidores para distribuir el tráfico.

10. Fallas en la administración de configuración:

Descripción: La configuración de la aplicación web es vulnerable a modificaciones no


autorizadas.
Mecanismo de explotación:
El atacante modifica la configuración de la aplicación web para permitir el acceso no
autorizado.
El atacante explota una vulnerabilidad en el software que utiliza la aplicación web para
modificar la configuración.
Ejemplo real de ataque:
Modificación de la configuración de un firewall para permitir el acceso a la aplicación web
desde una IP no autorizada.
Medidas de mitigación:
Almacenar la configuración de la aplicación web en un lugar seguro.
Implementar un sistema de control de versiones para la configuración.
Utilizar mecanismos de control de acceso para restringir el acceso a la configuración.
B. Cuadro comparativo de vulnerabilidades en aplicaciones web.

Vulnerabilidad Descripción Mecanismo de Ejemplo de Ataque


explotación real

Entradas invalidadas El usuario introduce El usuario introduce Ataque de inyección


datos inesperados un comando SQL en SQL
que causan errores o un campo de texto
ejecutan código que no está
malicioso. validado.

Fallos en la Las sesiones de El atacante roba la Ataque de secuestro


administración de usuario son robadas cookie de sesión del de sesión
autenticación y o manipuladas. usuario.
sesión

Desbordamiento del Se escribe una El atacante envía Ataque de


búffer cantidad excesiva de una cadena larga a desbordamiento del
datos en un búffer, un campo de entrada búffer
lo que puede que no está
permitir la ejecución validado.
de código arbitrario.

Inyección de código Se inyecta código El usuario introduce Ataque de inyección


SQL o de otro tipo un comando SQL en de código SQL
en la aplicación web un campo de
búsqueda que no
está validado.

Fallas en el manejo La aplicación web La aplicación web Ataque de


de errores revela información muestra un mensaje divulgación de
sensible al usuario de error que información
en caso de error. contiene
información de la
base de datos.

Almacenamiento Las contraseñas y Las contraseñas se Ataque de fuerza


inseguro otros datos sensibles almacenan en texto bruta
son almacenados de plano en la base de
forma insegura. datos.

Denegación de Se sobrecarga la El atacante envía Ataque de


servicio aplicación web con una gran cantidad de denegación de
solicitudes, solicitudes a la servicio (DoS)
impidiendo su aplicación web.
funcionamiento
normal.
CONCLUSIÓN

Las vulnerabilidades en aplicaciones web representan una amenaza omnipresente para la


seguridad de las empresas y usuarios en la era digital. Estas debilidades en el código o
configuración de las aplicaciones pueden ser explotadas por atacantes para obtener acceso no
autorizado, robar datos sensibles, e incluso inhabilitarse por completo.
El impacto de estas vulnerabilidades puede ser devastador, con repercusiones económicas,
legales y de reputación para las empresas. Los datos robados pueden ser utilizados para
cometer fraude, robo de identidad, o incluso para realizar ataques cibernéticos más
sofisticados.
Es crucial que las empresas implementen una estrategia de seguridad integral para proteger
sus aplicaciones web de estas vulnerabilidades.
Es importante recordar que la seguridad es un proceso continuo. No existe una solución única
que pueda proteger completamente las aplicaciones web de las vulnerabilidades. Las
empresas deben estar constantemente vigilantes y adaptarse a las nuevas amenazas que
surgen en el panorama digital.
BIBLIOGRAFÍA

Lerma-Blasco, R. V. (2013). Aplicaciones web: ( ed.). McGraw-Hill España.


https://elibro-net.proxy.bidig.areandina.edu.co/es/lc/areandina/titulos/50244

Bernabé Durán, A. (2015). Acceso a datos en aplicaciones web del entorno servidor:
desarrollo de aplicaciones con tecnologías web (UF1845): ( ed.). IC Editorial.
https://elibro-net.proxy.bidig.areandina.edu.co/es/lc/areandina/titulos/44133

Ortega Candel, J. M. (2018). Seguridad en aplicaciones Web Java: ( ed.). RA-MA Editorial.
https://elibro-net.proxy.bidig.areandina.edu.co/es/lc/areandina/titulos/106511

También podría gustarte