SQL Injection
Impact of successful SQL Injection attack
How to Detect
SQL injection Query
SQL injection Eg:
1. Retrieving Hidden data
Lab1: SQL injection vulnerability in WHERE clause allowing retrieval of hidden data
2. Subverting application logic
Lab2 : SQL injection vulnerability allowing login bypass
3. Retrieving data from other database tables (UNION attacks)
Lab: SQL injection UNION attack — determine number of columns
Lab: Finding columns with a useful data type for UNION
Lab: Using UNION to retrieve usernames and passwords
Examining the database in SQL injection
Labs: Querying database version (Oracle, MySQL/Microsoft)
Lab: Retrieving multiple values within a single column
Listing the contents of the database
Lab: Listing database contents (non-Oracle and Oracle examples)
4. Blind SQL injection Vulnerabilities
Exploiting Blind SQL injection by triggering conditional responses
Lab: Blind SQL injection with conditional responses
Error-based SQL injection
Exploiting blind SQL injection by triggering conditional errors (Oracle example)
Lab: Blind SQL injection with conditional errors (step summary)
Exploiting blind SQL injection by triggering time delays
Lab: Time delay attacks & extracting info via time-based techniques
Exploiting blind SQL injection using out-of-band (OAST) techniques
Lab: OOB interaction (DNS) & data exfiltration (Oracle example)
Second-order SQL injection
SQL injection in different contexts
Lab: SQL injection with filter bypass via XML encoding
Prevent SQL injection
SQL injection cheat sheet
String concatenation (examples)
Substring
Comments
Database Version
Database Contents
Conditional errors
Extracting data via visible error messages
Batched (stacked) queries
Time delays (unconditional)
Conditional time delays
DNS lookup (triggering OOB interactions)
DNS lookup with data exfiltration (patterns)
Last updated