| .github | ||
| data | ||
| doc | ||
| extra | ||
| lib | ||
| plugins | ||
| tamper | ||
| thirdparty | ||
| .gitattributes | ||
| .gitignore | ||
| LICENSE | ||
| README.md | ||
| sqlmap.conf | ||
| sqlmap.py | ||
| sqlmapapi.py | ||
| sqlmapapi.yaml | ||
sqlmap 
sqlmap is an open source penetration testing tool that automates the process of detecting and exploiting SQL injection flaws and taking over of database servers. It comes with a powerful detection engine, many niche features for the ultimate penetration tester, and a broad range of switches including database fingerprinting, over data fetching from the database, accessing the underlying file system, and executing commands on the operating system via out-of-band connections.
Screenshots
You can visit the collection of screenshots demonstrating some of the features on the wiki.
Installation
You can download the latest tarball by clicking here or latest zipball by clicking here.
Preferably, you can download sqlmap by cloning the Git repository:
git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git sqlmap-dev
sqlmap works out of the box with Python version 2.7 and 3.x on any platform.
Usage
To get a list of basic options and switches use:
python sqlmap.py -h
To get a list of all options and switches use:
python sqlmap.py -hh
You can find a sample run here. To get an overview of sqlmap capabilities, a list of supported features, and a description of all options and switches, along with examples, you are advised to consult the user's manual.
Links
- Homepage: https://sqlmap.org
- Download: .tar.gz or .zip
- Commits RSS feed: https://github.com/sqlmapproject/sqlmap/commits/master.atom
- Issue tracker: https://github.com/sqlmapproject/sqlmap/issues
- User's manual: https://github.com/sqlmapproject/sqlmap/wiki
- Frequently Asked Questions (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
- X: @sqlmap
- Demos: https://www.youtube.com/user/inquisb/videos
- Screenshots: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots
Translations
- Arabic
- Bengali
- Bulgarian
- Chinese
- Croatian
- Dutch
- French
- Georgian
- German
- Greek
- Hindi
- Indonesian
- Italian
- Japanese
- Korean
- Kurdish (Central)
- Persian
- Polish
- Portuguese
- Russian
- Serbian
- Slovak
- Spanish
- Turkish
- Ukrainian
- Vietnamese
Troubleshooting
This section helps users resolve common issues encountered while using sqlmap.
Missing mandatory option error
If you run sqlmap without specifying a target, you may see: missing a mandatory option (-u, -d, -l, -m, -r, -g, -c, etc.)
Solution: Always specify a valid target URL:
python sqlmap.py -u "http://example.com/page.php?id=1"
Connection problems
If sqlmap cannot connect to the target URL:
- Ensure the website is reachable in a browser
- Try using a different User-Agent: --random-agent
- Check your internet connection or firewall restrictions
Injection not detected (false negative)
If sqlmap does not detect SQL injection:
-
Increase testing intensity: --level=5 --risk=3
-
Try all techniques:
--technique=BEUSTQ
- Test specific parameter manually using
-p
WAF / Firewall blocking requests
Some websites may block sqlmap requests.
Possible solutions:
- Use random User-Agent: --random-agent
- Add delay between requests: --delay=2
- Use tamper scripts to bypass filtering: --tamper=space2comment
General tip
For better results, always ensure:
- Target is reachable
- Correct parameter is provided
- Proper technique selection is used
