Blind SQL Injection: Boolean & Time-Based Explained | Vooki Pro

Blind SQL injection: how it works and how to stop it

SQL injection happens when user input changes the meaning of a database query. In blind SQL injection the application never shows the database error or the query result, yet an attacker can still extract data one piece at a time by watching how the application behaves.

Because nothing obvious appears on screen, blind SQL injection often survives manual testing and quick reviews.

How it happens

The attacker sends input that makes the query true or false (boolean-based), or makes the database pause (time-based). By comparing the responses or the response times, they learn whether each guess was right, and can rebuild table names, usernames and password hashes.

The root cause is the same as any SQL injection: building a query by joining strings with user input.

Why it matters

  • Full read access to the database, including customer and payment data.
  • Authentication bypass and privilege escalation.
  • In some configurations, modification or deletion of data.
  • Regulatory exposure under data protection laws.

How to prevent it

  • Use parameterised queries or prepared statements everywhere, with no string concatenation into SQL.
  • Use an ORM correctly and avoid raw query helpers with user input.
  • Run the application with a least-privilege database account.
  • Validate and type-check input (for example, numeric IDs must be numbers).
  • Return generic error pages so database errors are never shown to users.

How Vooki Pro helps

  • Tests for classic, error-based and blind SQL injection, including timing-based detection.
  • Runs timing checks in a separate, isolated phase so network noise does not produce false alarms.
  • Also covers NoSQL, ORM, LDAP and XPath injection in the same scan.
  • Shows the payload and the parameter that was injected, with steps to reproduce and remediation guidance.
  • Maps each finding to OWASP Top 10, PCI DSS and other frameworks in compliance reports.

Frequently asked questions

What is the difference between blind and error-based SQL injection?

Error-based SQL injection shows database errors or data in the response. Blind SQL injection shows nothing directly, so the attacker infers data from true/false differences or response delays.

Do parameterised queries prevent blind SQL injection?

Yes. Parameterised queries keep user input separate from the SQL command, which prevents all forms of SQL injection, including blind variants.

Try Vooki Pro free for 7 days

Blind SQL injection is easy to miss by hand. Let Vooki Pro test every parameter for you. The trial unlocks every feature for 7 days, and scanning runs on your own machine.

Get Vooki Pro →  ·  How to perform security testing (DAST)

Related: Cross-Site Scripting (XSS): reflected, stored and DOM-based · NoSQL injection: risks for MongoDB and other document databases