En este módulo aprenderá sobre algunas vulnerabilidades comunes y cómo proteger su aplicación web contra ellas.
En este módulo aprenderá sobre algunas vulnerabilidades comunes y cómo proteger su aplicación web contra ellas.
Objetivos de aprendizaje:
- Comprender las secuencias de comandos entre sitios
- Comprender la manipulación de URL
- Comprender los peligros de poner nombres de archivo en las URL
- Comprender los peligros de la ejecución remota de código
- Comprender el ataque de denegación de servicio
Habilidades que obtendrás
Seguridad de las aplicacionesPatrones de ataqueExploración de vulnerabilidadesGestión de vulnerabilidadesMarco de ataque y auditoría de aplicaciones web (W3AF)Seguridad de aplicaciones webLo que aprenderás
- Comprender el cross-site scripting y cómo amenaza las aplicaciones web
- Identificar ataques de manipulación de URL y los peligros de incluir nombres de archivo en las URL
- Reconocer riesgos de ejecución de código remoto y abuso de carga de archivos
- Defenderse contra ataques de denegación de servicio
- Examinar ataques basados en sesiones, incluido el secuestro de sesiones, la fijación de sesiones y la falsificación de solicitud entre sitios
- Aplicar protecciones de sesión, como la expiración de sesiones
Puntos clave
- El módulo cubre vulnerabilidades comunes en aplicaciones web y cómo proteger una aplicación web contra ellas.
- El cross-site scripting, la manipulación de URL, la ejecución de código remoto y la denegación de servicio se encuentran entre los ataques comunes tratados.
- Incluir nombres de archivo en las URL introduce peligros que el curso explica junto con vulnerabilidades de nombres de archivo y abuso de carga de archivos.
- Las amenazas relacionadas con sesiones cubiertas incluyen secuestro de sesiones, falsificación de solicitud entre sitios y fijación de sesiones, con sesiones que expiran como medida de protección.
- El curso desarrolla habilidades en seguridad de aplicaciones, patrones de ataque, análisis de vulnerabilidades y gestión, y seguridad de aplicaciones web.
Preguntas frecuentes
¿Qué cubre este curso?
Este módulo cubre vulnerabilidades comunes en aplicaciones web y cómo proteger su aplicación web contra ellas, incluido el cross-site scripting, la manipulación de URL, los peligros de incluir nombres de archivo en las URL, la ejecución de código remoto y los ataques de denegación de servicio.
¿Qué temas se incluyen en las lecciones?
Las lecciones incluyen Ataques Comunes, Manipulación de URL, Vulnerabilidades de Nombres de Archivo, Ejecución de Código Remoto, Abuso de Carga de Archivos, Denegación de Servicio, Secuestro de Sesiones, Falsificación de Solicitud Entre Sitios, Fijación de Sesiones y Sesiones que Expiran.
¿Qué habilidades adquiriré con este curso?
Desarrollarás habilidades en seguridad de aplicaciones, patrones de ataque, análisis de vulnerabilidades, gestión de vulnerabilidades, Web Application Attack and Audit Framework (W3AF) y seguridad de aplicaciones web.
¿Aborda el curso ataques relacionados con sesiones?
Sí. El curso incluye lecciones sobre secuestro de sesiones, falsificación de solicitud entre sitios, fijación de sesiones y sesiones que expiran.
Transcripción
Transcripción
En este capítulo, vamos a ver algunos ataques comunes, y cómo el sitio del tablón de anuncios de muestra es vulnerable, y cómo solucionarlo para esos ataques. La primera vulnerabilidad que veremos es secuencias de comandos entre sitios. Recuerde que las secuencias de comandos entre sitios son una vulnerabilidad eso sucede cuando tomamos información de un usuario y mostrárselo a otro usuario. ¿Por qué es esto una vulnerabilidad? Recuerda que lo que el servidor envía al usuario se muestra como una página HTML. La página HTML puede incluir JavaScript que es el código que se ejecuta en el navegador. No queremos que los hackers pongan código en nuestro sitio que se ejecuta en los navegadores de otros usuarios. El sitio del tablón de anuncios tiene dos lugares donde tomamos la entrada de un usuario y mostrárselo a otros usuarios. Uno está en los perfiles de usuario, y el otro está en los tablones de anuncios. Vamos a ver específicamente los perfiles de usuario. Así que aquí, cuando tenemos publicaciones recientes, podemos hacer clic en el perfil de un usuario, en el nombre del usuario para ver su perfil. Y ahí vemos el perfil de John. Ahora, si John quiere editar su perfil, Actualmente estoy conectado como John, Puedo hacer clic en Editar perfil. Y luego pueden cambiar su texto Acerca de y cambiar su foto de perfil. Para probar para ver si un campo en particular es vulnerable a secuencias de comandos entre sitios, solo tenemos que ingresar algo de HTML en él. Así por ejemplo, hagamos esto último en negrita, si somos vulnerables a las secuencias de comandos entre sitios. Si no somos vulnerables a las secuencias de comandos entre sitios, entonces veremos la etiqueta real, fuerte. Volveremos y veremos el perfil de John. Entonces podemos ver que esa oración en realidad está en negrita. No vemos las etiquetas. Las etiquetas se interpretan como HTML. Eso significa que este campo en particular es vulnerable a secuencias de comandos entre sitios. Veamos otro ejemplo. Recuerde que HTML puede incluir JavaScript. Dado que es vulnerable a secuencias de comandos entre sitios, este script se ejecutará cuando un usuario vea el perfil de John. Entonces ese script se ejecutó y mostró una alerta. Ahora una alerta es bastante benigna, pero cualquier JavaScript podría haber estado allí, y hubiera sido ejecutado. Entonces, las secuencias de comandos entre sitios permiten a los piratas informáticos poner código en su sitio que se ejecutará en los navegadores de otros usuarios. ¿Cómo arreglamos eso? Bueno, la idea básica es que tenemos que procesar la salida y reemplace ciertos caracteres clave con equivalentes HTML. Por ejemplo, reemplazamos el signo menor que con un <. Reemplazamos el signo mayor que con uno similar entidad HTML. Ahora tenemos que hacer eso con cada personaje. eso es especial para HTML. Esto tiene que hacerse con cualquier salida. que enviamos al navegador del usuario que incluye la entrada de otro usuario. Y es muy fácil perderse lugares. Así que la mejor manera de resolver esto es utilizar un sistema de plantillas. El sistema de plantillas es básicamente un mini-lenguaje que usamos para crear nuestras páginas web. Déjame mostrarte el sistema de plantillas. que este sitio en particular está usando. Así que estamos usando el sistema de plantillas Twig. Puedes ver que, por ejemplo, tenemos un encabezado allí que dice Perfil para, y luego entre llaves dobles, es persona.nombre. Eso es tomar el contenido de una variable llamada persona, tomando un campo en él llamado nombre, y luego enviarlo al navegador web. Los sistemas de plantillas por defecto te protegerán de secuencias de comandos entre sitios. De hecho, tuve que decirle específicamente a este sistema de plantillas para no protegerme para que pudiéramos ver la vulnerabilidad. Miramos hacia abajo donde mostramos el texto Acerca de. Agregué en la bandera sin procesar allí para decirle al sistema de plantillas, no me proteja de secuencias de comandos entre sitios. Así que déjame quitar esa bandera cruda, salva eso y luego actualice este perfil. Así que ahora puedes ver que yo veo el JavaScript real en el que ingresaron. No se ejecuta. Un sistema de plantillas es, con mucho, la mejor manera para protegerse contra secuencias de comandos entre sitios, ya que te protegerá automáticamente cada vez que envíe algo al navegador web. No tienes que preocuparte por perderte algo en tu filtro. Hay otra vulnerabilidad de secuencias de comandos entre sitios en el sitio del tablón de anuncios. Recuerda lo que hablamos cuando hablamos de entrada y salida y qué acciones podrían ser vulnerables. te lo dejo como ejercicio para encontrar ese y arreglarlo. Gracias por ver. En la próxima lección, veremos la manipulación de URL, truco muy común que usan los piratas informáticos para obtener acceso a áreas no deberían poder acceder.
Aprende sobre la marcha
Lleva tu aprendizaje a todas partes: la app de KnowledgeCity te permite ver las lecciones sobre la marcha.