SQLMap
Open-source penetration testing tool that automates SQL injection detection and exploitation.
Pricing
Free / Open source
Type
Automation
Languages
Python
// VERDICT
Reach for SQLMap when, with authorization, you need to thoroughly test an application for SQL-injection weaknesses. Skip it when you want general scanning (ZAP/Burp), static/dependency analysis, or lack permission to test the target.
Best for
Automated detection and exploitation of SQL-injection vulnerabilities, for authorized penetration testing and verifying that an app is *not* injectable.
Avoid when
You want broad vulnerability scanning, static/dependency analysis, or you don't have authorization to test the target.
CI/CD fit
Specialist pentest tool - typically manual, authorized testing
Languages
Python
Team fit
Penetration testers · Security specialists · AppSec verifying SQLi defences
Setup
Maintenance
Learning
Licence
// BEST FOR
- Thoroughly testing whether an application is vulnerable to SQL injection
- Authorized penetration testing of database-backed apps
- Confirming that input sanitisation and parameterisation actually hold
- Detecting many SQLi variants a manual tester might miss
- Verifying a fix genuinely closed a previously-found injection
- Specialist depth on one vulnerability class
// AVOID WHEN
- You want broad, general vulnerability scanning (ZAP/Burp)
- You need static code or dependency analysis (SonarQube/Snyk)
- You do not have explicit authorization to test the target
- You want an everyday CI scan rather than focused pentest work
- A gentle, low-skill tool is required
- You're testing vulnerability classes other than SQL injection
// QUICK START
# Use ONLY against systems you are authorized to test.
pip install sqlmap
sqlmap -u "http://localhost:8080/your-authorized-test-app?id=1" --batch// ALTERNATIVES TO CONSIDER
| Tool | Choose it when |
|---|---|
| Burp Suite | You want a broad manual pentest toolkit, not just SQLi. |
| OWASP ZAP | You want general automated DAST scanning. |
| Pynt | You want automated API security scans in CI from functional tests. |
// FEATURES
- Automatic detection across MySQL, Postgres, MSSQL, Oracle, and others
- Six injection techniques (boolean, error, time, union, stacked, OOB)
- Database fingerprinting and full data exfiltration
- Out-of-band channels via DNS
- Tor and proxy support for stealthy testing
// PROS
- Most comprehensive open-source SQLi testing tool
- Mature project with consistent maintenance
- Widely used in CTFs, red teaming, and authorised pen-testing
- CLI-driven — easy to script into security pipelines
// CONS
- Aggressive defaults — only run against systems you own or have authorisation to test
- Steep learning curve for advanced flags and tampers
- Output noisy without filtering
// EXAMPLE QA WORKFLOW
Confirm written authorization and defined scope for the target
Install sqlmap and identify the parameter/endpoint to test
Run detection against the authorized target
Review whether injection is possible and to what extent
Report findings and verify fixes close the vulnerability
Handle any encountered data per your rules of engagement
// RELATED QA.CODES RESOURCES
Cheat sheets
Glossary
Practice
Interview