Educational Playground

SQL Injection Playground

Understand how SQL Injection works in a 100% safe, client-side simulated database. See the raw query being executed in real-time.

Intentionally Vulnerable Login

Try an Injection Attack

Notice how the input is concatenated directly into the query without sanitization.

  • admin'-- (Login Bypass)
  • ' OR '1'='1 (Auth Bypass / Dump)
  • admin' UNION SELECT 1, secret_name, secret_value, 4, 5, 6 FROM secrets-- (Data Exfiltration)
Executing Query
SELECT * FROM users WHERE username = '' AND password = ''
Database Response
Waiting for execution...

The Anatomy of an SQL Injection

Why does this happen?

SQL Injection (SQLi) occurs when an application takes user input and passes it directly into a database query without properly sanitizing or escaping it.

In the example above, the application simply stitches strings together:
"... username = '" + username + "' ..."

When a user types admin'--, the query becomes:
... username = 'admin'--' AND password = '...'
The -- acts as a comment in SQL, effectively deleting the password check and allowing the attacker to log in as the admin.

How to Prevent It (The Fix)

The absolute best defense against SQL injection is using Parameterized Queries (also known as Prepared Statements) or an ORM (Object-Relational Mapper).

Vulnerable Approach (String Concatenation):

db.execute(`SELECT * FROM users WHERE user='${name}'`);

Secure Approach (Parameterized Query):

db.execute(`SELECT * FROM users WHERE user=?`, [name]);

In a parameterized query, the database treats the user input purely as data, not as executable code. Even if an attacker injects ' OR 1=1, the database simply looks for a user whose literal name is exactly that string.

About SQL Injection Playground

A safe, in-browser lab to practice SQL Injection safely. Learn how SQLi works in a completely client-side environment without risking your actual databases.

Why use our SQL Injection Playground?

Our tools are designed to be fast, free, and fully client-side. This means your data never leaves your browser, ensuring maximum privacy and security. Simply interact with the interface above to get instant results without any server delays.