sql-injection-testing
Execute comprehensive SQL injection vulnerability assessments on web applications to identify database security flaws, demonstrate exploitation techniques, and validate input sanitization mechanisms.
By sickn33 · 484 installs
npx skills add sickn33/agentic-awesome-skills --skill sql-injection-testing
Source repository · Upstream listing
⚠️ AUTHORIZED USE ONLY
This skill is for educational purposes or authorized security assessments only.
You must have explicit, written permission from the system owner before using this tool.
Misuse of this tool is illegal and strictly prohibited.
Mandatory confirmation gate
Before running any command that probes, exploits, changes, persists on, extracts data from, or attempts credential access against a target:
1. Ask the user to state the exact target URL, IP, account, or resource.
2. Ask the user to confirm written authorization and the permitted scope.
3. Show the exact command(s) and explain their expected effect.
4. Wait for explicit confirmation in the current conversation.
Without that confirmation, remain read only and provide defensive guidance only. Prefer a sandbox, disposable VM, or controlled lab.
AUTHORIZED USE ONLY: Use this skill only for authorized security assessments, defensive validation, or controlled educational environments.
SQL Injection Testing
Purpose
Execute comprehensive SQL injection vulnerability assessments on web applications to identify database security flaws, demonstrate exploitation techniques, and validate input sanitization mechanisms. This skill enables systematic detection and exploitation of SQL injection vulnerabilities across in band, blind, and out of band attack vectors to assess application security posture.
Inputs / Prerequisites
Required Access
Target web application URL with injectable parameters
Burp Suite or equivalent proxy tool for request manipulation
SQLMap installation for automated exploitation
Browser with developer tools enabled
Technical Requirements
Understanding of SQL query syntax (MySQL, MSSQL, PostgreSQL, Oracle)
Knowledge of HTTP request/response cycle
Familiarity with database schemas and structures
Write permissions for testing reports
Legal Prerequisites
Written authorization for penetration testing
Defined scope including target URLs and parameters
Emergency contact procedures established
Data handling agreements in place
Outputs / Deliverables
Primary Outputs
SQL injection vulnerability report with severity ratings
Extracted database schemas and table structures
Authentication bypass proof of concept demonstrations
Remediation recommendations with code examples
Evidence Artifacts
Screenshots of successful injections
HTTP request/response logs
Database dumps (sanitized)
Payload documentation
Core Workflow
Phase 1: Detection and Reconnaissance
Identify Injectable Parameters
Locate user controlled input fields that interact with database queries:
Test for Basic Vulnerability Indicators
Insert special characters to trigger error responses:
Monitor application responses for:
Database error messages revealing query structure
Unexpected application behavior changes
HTTP 500 Internal Server errors
Modified response content or length
Logic Testing Payloads
Verify boolean based vulnerability presence:
Compare responses between true and false conditions to confirm injection capability.
Phase 2: Exploitation Techniques
UNION Based Extraction
Combine attacker controlled SELECT statements with original query:
Error Based Extraction
Force database errors that leak information:
Blind Boolean Based Extraction
Infer data through application behavior changes:
Time Based Blind Extraction
Use database sleep functions for confirmation:
Out of Band (OOB) Extraction
Exfiltrate data through external channels:
Phase 3: Authentication Bypass
Login Form Exploitation
Craft payloads to bypass credential verification:
Query transformation example:
Phase 4: Filter Bypass Techniques
Character Encoding Bypass
When special characters are blocked:
Whitespace Bypass
Substitute blocked spaces:
Keyword Bypass
Evade blacklisted SQL keywords:
Quick Reference
Detection Test Sequence
Database Fingerprinting
Information Schema Queries
Common Payloads Quick List
Purpose Payload
Basic test ' or "
Boolean true OR 1=1
Boolean false AND 1=2
Comment (MySQL) or
Comment (MSSQL)
UNION probe UNION SELECT NULL
Time delay AND SLEEP(5)
Auth bypass ' OR '1'='1
Constraints and Guardrails
Operational Boundaries
Never execute destructive queries (DROP, DELETE, TRUNCATE) without explicit authorization
Limit data extraction to proof of concept quantities
Avoid denial of service through resource intensive queries
Stop immediately upon detecting production database with real user data
Technical Limitations
WAF/IPS may block common payloads requiring evasion techniques
Parameterized queries prevent standard injection
Some blind injection requires extensive requests (rate limiting concerns)
Second order injection requires understanding of data flow
Legal and Ethical Requirements
Written scope agreement must exist before testing
Document all extracted data and handle per data protection requirements
Report critical vulnerabilities immediately through agreed channels
Never access data beyond scope requirements
Examples
Example 1: E commerce Product Page SQLi
Scenario : Testing product display page with ID parameter
Initial Request :
Detection Test :
Column Enumeration :
Data Extraction :
Example 2: Blind Time Based Extraction
Scenario : No visible output, testing for blind injection
Confirm Vulnerability :
Extract Database Name Length :
Extract Characters :
Example 3: Login Bypass
Target : Admin login form
Standard Login Query :
Injection Payload :
Resulting Query :
Result : Password check bypassed, authenticated as administrator.
Troubleshooting
No Error Messages Displayed
Application uses generic error handling
Switch to blind injection techniques (boolean or time based)
Monitor response length differences instead of content
UNION Injection Fails
Column count may be incorrect → Test with ORDER BY
Data types may mismatch → Use NULL for all columns first
Results may not display → Find injectable column positions
WAF Blocking Requests
Use encoding techniques (URL, hex, unicode)
Insert inline comments within keywords
Try alternative syntax for same operations
Fragment payload across multiple parameters
Payload Not Executing
Verify correct comment syntax for database type
Check if application uses parameterized queries
Confirm input reaches SQL query (not filtered client side)
Test different injection points (headers, cookies)
Time Based Injection Inconsistent
Network latency may cause false positives
Use longer delays (10+ seconds) for clarity
Run multiple tests to confirm pattern
Consider server side caching effects
When to Use
This skill is applicable to execute the workflow or actions described in the overview.