1/71
SQL Injection Flashcards
Untrusted input incorporated into a database SQL statement.
Structured Query Language.
The database supporting the application.
No. It can run on a separate server.
Unauthorized data retrieval, changes, or deletion.
The owner value in its WHERE clause.
Retrieves data from a table.
Changes existing database records.
Removes database rows.
The source table.
Conditions that restrict which rows are affected.
The columns and values to change.
Verb, source, and refinement.
The action to perform, such as SELECT, UPDATE, or DELETE.
The table or tables involved.
An optional condition limiting which data is affected.
All columns in the dropbox table.
No. Uppercase is used for readability.
Enter malformed or special-character input and observe responses.
A single quote (').
It may break SQL string syntax and produce a database error.
An always-true condition that can broaden returned rows.
A query can return rows beyond the intended user filter.
search.
Taylor followed by a single quote.
MariaDB.
They can reveal SQL syntax and database product details.
A Python-based SQL injection detection and exploitation tool.
The target URL to test.
The GET parameter search.
True-versus-false response differences.
Using database error responses to infer information.
The parameter, injection type, and sample payload.
Burp Suite Professional and Acunetix.
Start with a valid URL that does not produce an error.
Sqlmap uses it as the normal baseline for testing.
Surround the URL with quotes.
Otherwise the shell may interpret & instead of passing the full URL.
Available database names.
The database name to examine.
Tables in the selected database.
web_app.
The table name to examine.
Column names and types in a selected table.
Retrieves and displays records from the selected table.
An interactive SQL query interface for the target database.
-D for database and -T for table.
The target database and table.
No. Cloud databases can still be vulnerable.
Object Relational Mapping.
They abstract SQL query construction from application code.
Developers may build SQL strings directly rather than use safe abstractions.
Hibernate and SQLAlchemy.
An injected statement may modify or delete production data.
A tested and recoverable database backup.
The UPDATE may change every row in the table.
Begins a comment that can suppress the remaining SQL text.
The team has verified it can restore the database.
Parameterized queries or prepared statements.
They keep input values separate from SQL statement structure.
String concatenation with untrusted input.
Monitoring and partially blocking attack attempts.
No. Secure application queries are still required.
Least privilege for the application database account.
Failed SQL statements and SQL syntax errors.
MySQL and MariaDB.
No. Parameterized queries are preferred.
A parameter placeholder bound to a value.
prepareStatement().
setString(1, customer).
Untrusted input must not control SQL query syntax.
Cloud hosting does not replace safe query design.