Input handling & injection
How unsafe handling of user input leads to injection, and how encoding and parameterisation prevent it.
The lab is where we demonstrate how vulnerabilities arise and how defences change the outcome — in a safe, isolated environment. It is a teaching and research space, not a target range on the public internet.
We build intentionally vulnerable scenarios and their hardened counterparts side by side, so the difference between a broken and a corrected implementation is visible rather than theoretical.
The public site describes the structure of the lab. Vulnerable applications are not deployed on public production infrastructure.
How unsafe handling of user input leads to injection, and how encoding and parameterisation prevent it.
Missing or object-level authorisation, and what correct enforcement looks like.
Insecure defaults, exposed metadata and permissive headers, with a hardened baseline.
How vulnerable or abandoned dependencies create risk, and how to reduce it.
Isolation is the rule. Nothing in the lab is reachable from the public internet.
Scenarios run on private, disposable infrastructure, never on production hosts.
Offensive behaviour is demonstrated only against our own controlled targets.
Each scenario explains the root cause, the exploit path and the defence.
No traffic leaves the lab environment; no external systems are touched.
Responsible by design
We can adapt lab scenarios and content structure to your context.