IntermediateFREE54 hours
What Is SQL Injection?
SQL injection (SQLi) is a class of security vulnerability that occurs when an application includes untrusted data in a SQL query without proper sanitization or parameterization.
Enroll for free to track your progress through this course.
Curriculum (107 lessons)
- 1. What Is SQL Injection?
- 2. How SQL Injection Executes
- 3. Proof of Concept
- 4. Types of SQL Injection Vulnerabilities
- 5. in-Band SQL Injection
- 6. Blind SQL Injection
- 7. Second-Order SQL Injection
- 8. Impact
- 9. Key Takeaways
- 10. What Is UNION-Based SQL Injection?
- 11. Batched (Stacked) Queries
- 12. Time Delays
- 13. Conditional Time Delays
- 14. DNS Lookup
- 15. DNS Lookup with Data Exfiltration
- 16. Prevention Reference
- 17. Course Structure
- 18. Estimated Duration
- 19. Determining Column Count
- 20. Constructing UNION SELECT Payloads
- 21. Extracting Data From Other Tables
- 22. Handling Application Output
- 23. Limitations
- 24. What Is Boolean-Based Blind SQL Injection?
- 25. How Boolean Conditions Work
- 26. Determining Boolean Conditions
- 27. Testing with Character Values
- 28. Binary Search Technique
- 29. Testing Multiple Characters
- 30. Extracting Complete Values
- 31. Handling Different Application Responses
- 32. Limitations of Boolean-Based Blind Injection
- 33. What Is Time-Based Blind SQL Injection?
- 34. How Time Delays Work
- 35. Database-Specific Delay Syntax
- 36. Extracting Data Character by Character
- 37. Binary Search Optimization
- 38. Information Retrieval with Time Delays
- 39. Reducing Extraction Time
- 40. What Is Out-of-Band SQL Injection?
- 41. How Out-of-Band Injection Works
- 42. Microsoft SQL Server
- 43. Oracle
- 44. PostgreSQL
- 45. MySQL
- 46. Setting Up the Out-of-Band Server
- 47. Bulk Data Exfiltration
- 48. What Is Second-Order SQL Injection?
- 49. How Second-Order Injection Works
- 50. Stage 1: Injection
- 51. Stage 2: Exploitation
- 52. User Registration and Profile Updates
- 53. Search History
- 54. Administrative Functions
- 55. Why Validation Fails
- 56. Detection Methodology
- 57. the ORDER BY Technique
- 58. How It Works
- 59. Interpreting Results
- 60. Handling Comments
- 61. Limitations of ORDER BY
- 62. the GROUP BY Technique
- 63. Combining ORDER BY and GROUP BY
- 64. SELECT Probing for Column Types
- 65. String Injection
- 66. Numeric Injection
- 67. NULL Injection
- 68. Combining Techniques
- 69. Practical Example
- 70. Identifying the Database Type
- 71. Error Messages
- 72. Version Queries
- 73. Syntax-Based Detection
- 74. Accessing Metadata Repositories
- 75. MySQL and PostgreSQL
- 76. Enumerating Table Contents
- 77. Listing Column Names
- 78. Extracting Data
- 79. Extracting Multiple Rows
- 80. Enumerating Database Privileges
- 81. File System Access
- 82. Systematic Enumeration Workflow
- 83. Exploitation Workflow
- 84. Phase 1: Reconnaissance
- 85. Phase 2: Injection Identification
- 86. Phase 3: Database Enumeration
- 87. Phase 4: Data Extraction
- 88. Phase 5: Post-Exploitation
- 89. Scenario: Application Displays Full Query Results
- 90. Scenario: Application Displays Only the First Row
- 91. Scenario: Application Shows Different Content Based on Conditions
- 92. Scenario: No Observable Differences
- 93. Input Length Restrictions
- 94. Case-Sensitive Filters
- 95. Comment Filtering
- 96. WAF Evasion
- 97. Extracting Large Data Sets
- 98. Batch Extraction
- 99. Offset-Based Pagination
- 100. Conditional Extraction
- 101. String Concatenation
- 102. Substring Extraction
- 103. Comments
- 104. Database Version Detection
- 105. Database Contents Enumeration
- 106. Conditional Errors
- 107. Extracting Data via Visible Error Messages