SQL Injection Techniques

Overview

SQL Injection is a code injection technique that exploits security vulnerabilities in an application's software by inserting malicious SQL statements into an entry field for execution. This guide covers all major SQL injection techniques for PJPT certification.

What is SQL Injection?

Definition

SQL Injection occurs when user-supplied input is inserted into a SQL query without proper sanitization, allowing attackers to manipulate the database query structure.

Why SQL Injection Matters for PJPT

  • Critical vulnerability in web applications

  • Direct database access and data extraction

  • Privilege escalation opportunities

  • Remote code execution in some cases

  • Foundation for post-exploitation activities

Basic SQL Injection Concepts

1. SQL Injection Testing Methodology

2. Common Injection Points

3. SQL Injection Detection

Union-Based SQL Injection

1. Basic Union Injection

2. MySQL Union Injection

3. PostgreSQL Union Injection

4. MSSQL Union Injection

Error-Based SQL Injection

1. MySQL Error-Based

2. MSSQL Error-Based

3. PostgreSQL Error-Based

Blind SQL Injection

1. Boolean-Based Blind Injection

2. Time-Based Blind Injection

Advanced SQL Injection Techniques

1. Second-Order SQL Injection

2. NoSQL Injection (MongoDB)

3. WAF Bypass Techniques

Automated SQL Injection Tools

1. SQLMap

2. Other Tools

SQL Injection Prevention Bypass

1. Filter Bypass Techniques

2. Magic Hashes

Database-Specific Payloads

1. MySQL Specific

2. PostgreSQL Specific

3. MSSQL Specific

Practical SQL Injection Scenarios

Scenario 1: Login Bypass

Scenario 2: Data Extraction

Scenario 3: File Upload via SQL

PJPT Exam Tips

Essential Payloads to Memorize

SQLMap Essential Commands

Documentation Requirements

  1. Injection point identification

  2. Payload used and query reconstruction

  3. Database type and version

  4. Data extracted with proof

  5. File access/upload if achieved

  6. Command execution if possible

Common Exam Scenarios

  • Login form SQL injection

  • Search functionality injection

  • URL parameter injection

  • Cookie-based injection

  • Blind injection requiring boolean/time-based techniques


Note: Always ensure proper authorization before testing SQL injection. These techniques should only be used in authorized penetration testing scenarios or controlled lab environments. SQL injection can cause data loss or corruption if not performed carefully.

Last updated