Programación segura aplicada
Explore las directrices de programación segura para comprender y mitigar vulnerabilidades de software como el OWASP Top 10, y sumérjase en misiones de formación guiada para practicar en simulaciones de aplicaciones del mundo real.
Explorar todas las misiones
Tabla de contenido

Inyección SQL
Recibimos informes de un usuario que logró explotar una vulnerabilidad de inyección SQL en la función de búsqueda de transacciones de la solución de banca por internet. Indicó que pudo ver transacciones de otros usuarios y señaló que esta vulnerabilidad permitiría a un atacante realizar acciones malintencionadas en la base de datos, como eliminar tablas, consultar datos de otras tablas o insertar información, entre otras. Intenta replicar lo que hizo el usuario en esta misión.

Spring MvcRequestMatchers
En marzo de 2023, Spring lanzó una solución para una vulnerabilidad descubierta internamente, denominada CVE-2023-20860, donde el uso de un comodín doble ** en mvcRequestMatchers podía causar una discrepancia de patrones entre Spring Security y Spring MVC. Esto podría permitir que los usuarios obtuvieran acceso no autorizado a ciertos endpoints. Hemos configurado una aplicación bancaria muy simplificada con algunos endpoints. Sigue las instrucciones e intenta reproducir el impacto de esta vulnerabilidad de control de acceso.

Firmas psíquicas: uso de componentes vulnerables conocidos
CVE-2022-21449 tiene el alias más genial para una vulnerabilidad: Firmas psíquicas en Java. ¿Cómo obtuvo ese nombre? Es una referencia a los papeles psíquicos de Doctor Who. Al mostrarlos, estos papeles en blanco se llenaban con lo que la persona esperaba ver. Algo similar ocurría en la implementación del algoritmo ECDSA en Java (versiones 15 a 18), lo cual afecta la verificación de firmas de los JWT. Podemos enviar una firma inválida y Java la considerará válida. ¿Quieres ver cómo funciona? Empecemos.

Path Traversal en Apache - Uso de componentes vulnerables conocidos
El 4 de octubre de 2021, el equipo de Apache lanzó la versión 2.4.49 para solucionar una vulnerabilidad de path traversal y ejecución remota de código en Apache 2.4.48, conocida como CVE-2021-41773. El 7 de octubre de 2021, lanzaron la versión 2.4.51 debido a que la corrección del hotfix 2.4.50 estaba incompleta. Esta vulnerabilidad se registró como CVE-2021-42013. Prueba esta misión para ver por ti mismo cómo se puede explotar.

Log4j: uso de componentes vulnerables conocidos
El anuncio a principios de diciembre de 2021 de una vulnerabilidad de día cero (CVE-2021-44228) en la popular biblioteca de registro Log4j causó un gran revuelo en la comunidad Java. El exploit, llamado Log4Shell, afecta a las versiones de Log4j v2 de la 2.0-beta9 a la 2.14.1 y podría permitir la ejecución remota de código. Hemos preparado un entorno para simular el exploit y que puedas ver su impacto de primera mano. Pruébalo ahora.

Código troyano: uso de componentes de fuentes no confiables
Uno de nuestros desarrolladores de Viking Bank copió ingenuamente código de una fuente de internet no confiable, el cual podría contener componentes vulnerables, para ayudar a escribir una verificación de autorización de administrador para gestionar tarjetas de crédito. Hemos notado que los usuarios han estado cambiando su límite de crédito, a pesar de que solo los administradores deberían tener este privilegio. Creemos que hay algo extraño en ese código. Prueba la misión para investigar el código.

Codestashbin - Función de restablecimiento de contraseña insegura
CodeStashBin es una de las empresas de alojamiento de control de versiones de código más grandes del mundo. Se rumorea que el proceso de recuperación de contraseña tiene una vulnerabilidad de restablecimiento inseguro. Podría ser posible cambiar la contraseña de un usuario privilegiado y acceder a su cuenta. Únete a esta misión para investigar el problema.

Cross-site scripting (XSS) en ‘ChatterGPT’
Esta misión muestra la interfaz familiar de un LLM popular y utiliza un fragmento de código real generado a finales de noviembre de 2023. Los usuarios pueden interpretar este fragmento e investigar posibles riesgos de seguridad si se utilizara para su propósito original.