Saltar al contenido
Lectura5 minPreview

Bienvenida al curso

Bienvenido a OWASP A02: fallas criptográficas, el segundo curso de la serie OWASP Top 10. Mire esta fila, sacada de un volcado de base de datos ficticio:

1187 | [email protected] | 5f4dcc3b5aa765d61d8327deb882cf99

Ese tercer campo es MD5, sin sal, de la contraseña password. No hace falta "romper" nada: pegue el hash en un buscador y el primer resultado le da la contraseña, porque millones de personas usan la misma y alguien ya publicó su MD5. La aplicación que guardó esa fila funcionaba perfecto: el registro guardaba, el inicio de sesión comparaba, las pruebas pasaban. A02 es eso, criptografía que falla en silencio hasta el día que la base se filtra.

Qué va a lograr

  • Explicar qué es A02, de dónde viene y cómo se relaciona con la Ley 8968 de Costa Rica.
  • Clasificar los datos de una aplicación y decidir cómo proteger cada uno en tránsito y en reposo.
  • Detectar en código Python/Flask hashes débiles, secretos escritos, aleatoriedad predecible y TLS mal usado, con grep y Bandit.
  • Corregir una aplicación con Argon2id, Fernet y el módulo secrets, y demostrarlo con pruebas en pytest.
  • Verificar TLS y HSTS con openssl y curl, y buscar secretos filtrados con Gitleaks.
  • Redactar un reporte de hallazgo claro, con CWE, requisito ASVS y forma de verificación.

Para quién es y qué necesita

Para quien desarrolla, revisa u opera aplicaciones web y quiere la criptografía del lado práctico: qué función llamar, qué parámetro revisar. No va a demostrar teoremas. Conviene haber hecho Seguridad web con OWASP Top 10 y leer Python sencillo. Si quiere entender hashes y TLS por dentro, Criptografía práctica complementa bien, sin ser requisito.

Trabaje en Linux, macOS o Windows con WSL2, con Python 3.10 o superior, curl, openssl y Git. Gitleaks es un binario aparte que se instala en el módulo 4.

Cómo está organizado

MóduloQué aprendeLaboratorio
1. Qué son las fallas criptográficas y por qué ocurrenQué es A02, estados del dato, clasificación, Ley 8968 y casos públicosInventario y clasificación de datos
2. Cómo se ve en el código y cómo se revisaTLS y HSTS con curl, algoritmos obsoletos, hashlib, secrets, grep y BanditRevisar una aplicación Flask vulnerable
3. Cómo se previene y se corrigeArgon2id y bcrypt, Fernet y gestión de llaves, ASVS y pytestCorregir la aplicación y probar la corrección
4. Detectar, monitorear y reportaropenssl, registros del proxy, WAF, Gitleaks, Sigma, más la conclusiónDetectar en registros y reportar el hallazgo
Evaluación6 preguntas sobre todo el cursoAprueba con 70 %

Cómo aprovecharlo

El primer laboratorio no tiene código, y es fácil subestimarlo: clasificar los datos de Pulpería La Esquina decide qué hay que cifrar después. Los otros tres trabajan sobre la misma aplicación Flask, así que guarde la carpeta.

El laboratorio del módulo 3 es el más exigente. La misión pide que pytest -q muestre 7 pruebas pasando con la versión corregida y que al menos 5 fallen con la vulnerable; si todas pasan en ambas, sus pruebas no están mirando lo que deben. Instale de una vez en el entorno virtual flask, bandit, argon2-cffi, cryptography y pytest.

La evaluación final tiene 6 preguntas; con 70 % recibe el certificado y la insignia del curso.

Tiempo estimado

Unas 4 horas y media. Los cuatro laboratorios suman hora y media; deje cada uno para una sesión sin cortes.