Introducción
Última actualización en: 19 Septiembre 2024
Editar esta página en GitHubÚltima actualización en: 19 Septiembre 2024
Editar esta página en GitHubCon agradecimiento a
Ninoslava Bogdanović
Michał “czesiek” Czyżewski (https://czesiek.net)
Yana Ghahramanyan
Hay muchas formas en que los adversarios podrían intentar atacar sitios web, incluyendo:
La seguridad de las aplicaciones web es un dominio de conocimiento técnico avanzado con muchas áreas de especialización. Esta Ruta de Aprendizaje le proporcionará una comprensión general de las vulnerabilidades de las aplicaciones web y cómo funcionan algunas de las más comunes. Debería ayudarle a comprender los tipos de vulnerabilidades que existen comúnmente en las aplicaciones web, las capacidades que estas vulnerabilidades brindan a los atacantes y cómo, en general, eliminar o mitigar estas vulnerabilidades.
¿Qué es una aplicación web?
Las aplicaciones web se refieren a una categoría más amplia de software que ejecuta servicios dinámicos disponibles a través de la web. Una página web es un tipo de aplicación web, aunque una página HTML estática generalmente no se considera como tal. Las aplicaciones web normalmente implican algún tipo de procesamiento, almacenamiento y recuperación de datos del lado del cliente y/o del servidor, con contenido dinámico. Generalmente dependen de infraestructura, como bases de datos, servidores adicionales o servicios en la nube (incluido el “código sin servidor”). Las plataformas CMS comunes, como WordPress o Drupal, son aplicaciones web. Muchas organizaciones despliegan varias aplicaciones para brindar funcionalidades internas o externas, como una base de datos de miembros, una herramienta de gestión de relaciones con los contactos, un sistema de información de salud, un sistema de emisión de tickets, herramientas operativas internas y muchas más. Algunas organizaciones desarrollarán sus propias aplicaciones web personalizadas que se ajusten a sus propios fines. Las principales plataformas de servicios de Internet como MailChimp, Slack, Canva, X, etc., también son aplicaciones web y su seguridad también afecta a sus usuarios; sin embargo, entidades tan grandes tienen sus propios equipos de seguridad y programas de recompensas por errores que realiza o fomenta revisiones profesionales de seguridad de aplicaciones web para ellos. Por otro lado, las organizaciones más pequeñas, para las que puerde que usted este trabajando a menudo, no tienen los recursos para realizar revisiones de seguridad de aplicaciones web y usted puede ser el primero en hacerlo.
¿Qué son las vulnerabilidades?
Hay muchos tipos de fallas que pueden aparecer en cualquier sistema complicado. Normalmente los consideramos errores habituales en los que el sistema permite a sus usuarios hacer menos de lo previsto. Algo así como “cuando hago clic en ‘agregar al carrito’, el sitio web simplemente devuelve una página de error”. Sin embargo, algunas fallas permiten a los usuarios hacer más de lo previsto. Cuando estas fallas impactan negativamente al sistema o a sus otros usuarios, las consideramos vulnerabilidades. Ejemplos de vulnerabilidades incluyen fallas que permitirían a un usuario leer o modificar los datos de otros usuarios, tomar el control de la infraestructura subyacente de un sitio web, negar el uso de un sistema a otros usuarios, etc. Al pensar en las vulnerabilidades, resulta útil agruparlas por tipo. Esta Ruta de Aprendizaje proporciona una descripción general de las clases de vulnerabilidades comunes de las aplicaciones web y cómo un atacante podría usarlas para dañar un sitio web o a sus usuarios.
Los profesionales aprenderán los conceptos fundamentales de la seguridad de las aplicaciones web, proporcionando la experiencia necesaria para profundizar en temas relacionados con la seguridad de las aplicaciones web. Los profesionales podrán comprender los conceptos clave de la seguridad de las aplicaciones web, que incluyen:
Para completar esta Ruta de Aprendizaje, utilizaremos un sitio web llamado DVWA (Damn Vulnerable Web App). DVWA es una aplicación web que es intencionalmente vulnerable a varios tipos de ataque. Requiere una configuración mínima para su uso y está disponible en línea para una experiencia sin configuración.
Hay varias formas de ejecutar DVWA. Las mejores instrucciones de instalación actuales se pueden encontrar en el repositorio DVWA GitHub. Como se destaca en la sección Advertencia de esa página, DVWA no debe instalarse de manera que lo exponga a Internet abiertamente. Las opciones para ejecutarlo incluyen:
Antes de comenzar cualquiera de los ejercicios, recuerde iniciar sesión en DVWA (las credenciales predeterminadas son administrador/contraseña) y asegurese de que el nivel de seguridad esté configurado en “Bajo”.
Un ejercicio de práctica requiere que instale y utilice una herramienta conocida como rainbowcrack. Debido a los altos requisitos del sistema y al hecho de que la herramienta solo funciona en Linux y Windows, hemos optado por hacer que este ejercicio sea opcional. Dado que el objetivo principal de este ejercicio es ilustrar un concepto de seguridad, los estudiantes que no puedan o no quieran completarlo aún podrán terminar toda la ruta de aprendizaje.
Un ejercicio opcional requiere conocimientos prácticos de Python básico y una instalación de Python. Los y las estudiantes que no estén familiarizados con Python o que no lo tengan instalado en sus sistemas pueden omitir este ejercicio.
Esta Ruta de Aprendizaje proporciona una guía autónoma y coherente internamente sobre la seguridad de las aplicaciones web. Está pensado para leerse en unas cuantas sesiones breves y proporcionarle los conocimientos básicos necesarios para lograr un aprendizaje más profundo sobre la seguridad de las aplicaciones web. Las rutas de aprendizaje de seguimiento sugeridas incluyen:
¡Felicidades por terminar la introducción!
Marque la casilla para confirmar que ha leído la introducción y continúe al siguiente módulo.
Marca la introducción como completada y guarda el progreso para el usuario.
Has completado todos los módulos en este camino de aprendizaje.