Understanding SQL Injection
See how unparameterized queries break trust boundaries, then rebuild the endpoint with prepared statements.
Each lab pairs a deliberately weak demo application with the remediation work that closes the gap.
See how unparameterized queries break trust boundaries, then rebuild the endpoint with prepared statements.
Understand stored, reflected and DOM sinks in a sandboxed app, then apply contextual output encoding.
Review a demo login flow for weak hashing, session fixation and unsafe recovery, then harden each step.
Work through object-level authorization on a demo API and implement server-side ownership checks.
Add schema validation, type coercion safety and rate limits to a deliberately permissive demo API.
Configure CSP, HSTS, frame protections and referrer policy, and measure the effect on a demo site.
Compare allow-list validation with sanitization and learn where each belongs in a request pipeline.
Harden a demo deployment: secrets management, permissions, logging and default-deny networking.
Hashing vs encryption, key rotation and authenticated encryption explained through safe exercises.