Parameterized Query Defense: Code vs. Data Plane
Interactive 3D simulation of how parameterized queries (prepared statements) stop SQL injection: watch a malicious payload get tokenized into live SQL syntax in a vulnerable concatenated query, versus staying inert data once the query is compiled before binding.
SQL injection succeeds only when attacker-supplied text gets tokenized as if it were code the developer wrote. This simulation renders a real query pipeline in 3D — token stream, parser, syntax tree, execution engine and result rows — and lets you run the same malicious payload through two construction modes. In vulnerable mode the payload is concatenated into the SQL text before parsing, so its keywords become live syntax and the AST grows extra branches that leak rows. In parameterized mode the query is compiled first and the payload is bound afterward as one opaque, never-re-tokenized data value, so it can only ever match as a literal string. Live readouts track AST node count, rows returned and whether the payload was re-tokenized, showing exactly where the security boundary sits.
Watch a malicious SQL payload flow through a 3D query pipeline in two modes: string-concatenated, where it gets re-tokenized as live SQL syntax and leaks rows, versus parameterized, where it stays one inert data value bound after the query is already compiled.
3D · Three.js / WebGL renderer · 60 FPS target · runs fully client-side, no install