🛡️ Quien construye software y tiene que defenderlo

Ciberseguridad aplicada

Defender lo que construyes, con seis laboratorios que funcionan de verdad

Curso explícitamente defensivo: se explica cómo funciona cada ataque porque no se puede defender lo que no se entiende. Inyección SQL, XSS, contraseñas y hashing lento, sesiones y JWT, control de acceso roto, CSRF, cabeceras de seguridad, dependencias y secretos, registro y detección, y modelado de amenazas con STRIDE. Los seis laboratorios son reales, no simulaciones: el evaluador de SQL evalúa el árbol de la condición, el hashing usa el SHA-256 del navegador, el JWT se firma con HMAC y se verifica de verdad, y el laboratorio de XSS muestra la violación de CSP capturada del evento real del navegador. Todo corre contra sistemas de juguete dentro de la propia página: nada de lo que se enseña aquí se prueba en sistemas ajenos, que sin autorización escrita es delito (Ley 21.459).

4 niveles11 lecciones4 horasCertificadoDesbloqueo secuencial

Temario

1

Nivel 1 — Inyección

01
Reglas del curso

Ética, Ley 21.459 y por qué los laboratorios son de juguete. Qué defensas valen y cuáles no.

Vista previa
02
Inyección SQL

Laboratorio con evaluador real de la cláusula WHERE. Rompe el login y luego parametriza.

🔒 26 min
03
XSS

El mismo texto en dos sinks, ejecutándose de verdad, y la CSP bloqueando delante de ti.

🔒 28 min
2

Nivel 2 — Identidad

01
Contraseñas

Por qué SHA-256 es la respuesta equivocada. Sal, avalancha y entropía, calculadas en vivo.

🔒 26 min
02
Sesiones y tokens

Fabrica un JWT y engaña a un verificador ingenuo con alg:none. Cookies atributo a atributo.

🔒 24 min
03
Control de acceso roto

La número 1 de OWASP y la más aburrida: cambiar un número en la URL. Con laboratorio de rutas.

🔒 24 min
3

Nivel 3 — Perímetro

01
CSRF y el origen de las peticiones

Tu propio navegador trabajando para el atacante. SameSite, tokens y verbos.

🔒 20 min
02
Cabeceras de seguridad

CSP con nonce, HSTS, nosniff. Y la CSP con unsafe-inline que no protege de nada.

🔒 22 min
03
Dependencias y secretos

El código que no escribiste y la credencial que queda en el historial de git para siempre.

🔒 20 min
4

Nivel 4 — Cierre

01
Registro y detección

Qué registrar, qué no registrar jamás y por qué el log debe ser de solo inserción.

🔒 20 min
02
Modelado de amenazas

Ejercicio de cierre: modela una plataforma multi-tenant y sus dos capas de aislamiento.

🔒 32 min

Por qué ves candados. El acceso no se deduce de una orden pagada sino de un entitlement activo, y esta sesión no tiene uno para este curso. Entra como ana@criswily.local para verlo desbloqueado y como bruno@criswily.local para comprobar que el bloqueo es real — los dos son del mismo tenant, así que la diferencia no la puede hacer el aislamiento por tenant.