{keyword} Union All Select Null,null,null,null,null,null,null-- Pvwz -
This is the #1 defense. It treats user input as literal data, not executable code.
If you're building an application, you should never let user input go directly into a database query. Instead, use these industry-standard defenses:
: This attempts to combine the results of the original legitimate database query with a new query controlled by the attacker. This is the #1 defense
Example (Python/psycopg2): cursor.execute("SELECT * FROM users WHERE name = %s", (user_input,))
Use "allow-lists" to ensure input matches the expected format (e.g., ensuring a ZIP code is only numbers). It tells the database to ignore the rest
: This is a comment operator in SQL. It tells the database to ignore the rest of the original query, preventing errors from trailing code. How to Prevent This
The string you provided is a common technique used in . Specifically: the database usually throws an error.
: The attacker uses NULL values to figure out exactly how many columns the original table has. If the number of NULL s doesn't match the original column count, the database usually throws an error.
