The Illustrated TLS 1.3 Connection (tls13.xargs.org) · Michael Driscoll
Do: the TLS 1.2 page first, then TLS 1.3.
Every byte of a real HTTPS connection, annotated. It's what "the connection is encrypted" means.
Plans / Plan 04 · A month
You end up withYou've read a TLS handshake byte by byte, built the codes in your authenticator app, broken weak cryptography yourself, and exploited the common web vulnerabilities in labs built for it.
Do: the TLS 1.2 page first, then TLS 1.3.
Every byte of a real HTTPS connection, annotated. It's what "the connection is encrypted" means.
A small, complete build that uses a real primitive correctly: the one-time codes behind two-factor logins.
Do: sets 1 to 3.
Breaking weak cryptography yourself, up to a CBC padding-oracle attack, is the fastest cure for rolling your own.
Do: SQL injection, cross-site scripting, CSRF, access control and authentication.
Live labs for the vulnerabilities that turn up in ordinary web apps, on sites built to be attacked.
Memory corruption and reverse engineering (most of the security course). They matter for C and systems code, less for a typical web app.
The rest of the Web Security Academy, or the security course from step 1.