PAGES
← all tools
◆ Web Application Security

sqlmap

1.0 open-source

sqlmap is an open source penetration testing tool that automates detecting and exploiting SQL injectionSQL injectionAn attack that makes an application treat untrusted input as part of a database command. It can expose or modify data by changing what the query does. flaws and taking over database servers.

Summary

sqlmap is an open-source penetration testing tool, licensed under GPLv2, that automates detecting and exploiting SQL injection flaws and taking over the underlying database server. It runs from the command line as a Python script, invoked against a target URL or a saved request, and covers tasks like enumerating databases, dumping table contents, testing for XXEXXEXML External Entity injection, a class of attack against XML parsers that tricks them into fetching external resources or local files, letting an attacker read sensitive data or trigger server-side request forgery. injection, and evading WAFs. It is aimed at penetration testers rather than developers reviewing their own code, and it sits in the web-app-security category alongside other exploitation-focused scanners rather than passive vulnerability checkers. First committed in 2008, it remains active with 163 contributors and 558 commits in the past year, though its last release was 232 days ago.

sqlmap is an open source penetration testing tool that automates detecting and exploiting SQL injection flaws and taking over database servers.

How sqlmap helps

Is the input field on this form actually vulnerable to SQL injection?

sends a series of crafted requests against the parameter and compares responses to confirm injection, reporting the technique and DBMS it detected

What databases, tables, and data exist behind this vulnerable parameter?

walks the back-end schema once injection is confirmed and lists databases, tables, and columns before pulling any rows

What does the data in a specific table actually contain?

dumps the rows of a named table, working around DBMSes that lack a way to page through results, and prints them out

Can a request I already captured be pushed further than a quick check?

replays a saved request through the fuller set of injection tests instead of the quick pass used on a live parameter

Is this parameter's flaw exploitable beyond just reading data?

escalates a confirmed injection to reading files off the underlying filesystem or running operating system commands via out-of-band connections

Will a web application firewall in front of this target block the injection attempts?

rewrites the crafted payloads with a chosen evasion script so the requests reach the parameter without tripping the filter

all 12 features, with the evidence for each →

Languages

Arabic, Bengali, Bulgarian, Chinese (Simplified), Croatian, Dutch, French, German, Indonesian, Italian, Japanese, Korean, Persian, Polish, Portuguese, Russian, Slovak, Spanish, Turkish, Ukrainian, Vietnamese Documentation: Arabic, Bengali, Bulgarian, Chinese (Simplified), Croatian, Dutch, French, German, Indonesian, Italian, Japanese, Korean, Persian, Polish, Portuguese, Russian, Slovak, Spanish, Turkish, Ukrainian, Vietnamese

Features

12 capabilities · 5 backed by code, an API document or a real run

Built from sqlmap's releases, docs, README and our own runs. “Seen” marks the month we first spotted a release the vendor didn't date. Group names and tags are our labels.

Compare with peers →

  • sqlmap covers 1 of the 8 vulnerability assessment methods capabilities we track.

What sqlmap offers you

  • Command-line interface4
  • Import from a competing product1
Web vulnerability scanning 7 features Vulnerability assessment methods since 2007
SQL injection testing verified Automatically tests URL parameters for SQL injection vulnerabilities, enumerates available databases, and dumps table contents. 26 releases · 16 other sources · first seen Jan 2007

Shared capability: Web vulnerability scanning

release 26 total

  • Old resume files are deprecated and replaced by SQLite based session mechanism, rendering previous session files incompatible. 1.0 · Feb 2016 · source · release history
  • Replaces old resume files with faster SQLite based session mechanism 1.0 · Feb 2016 · source · release history
  • Adds --forms switch to automatically parse and test HTML forms on the target URL 0.9 · Apr 2011 · source · release history
  • Adds --search option to search for specific databases, tables, and columns during dump operations 0.9 · Apr 2011 · source · release history
  • Adds -C support in --columns to filter column enumeration by name pattern 0.8 · Mar 2010 · source · release history
  • Adds --dump -C <columns> to enumerate and dump tables containing specific columns 0.8 · Mar 2010 · source · release history

docs

  • Open source penetration testing tool that automates detecting and exploiting SQL injection flaws and taking over database servers.

command line

  • --multi-bit — Use rendered rows to read several bits per request 1.10.9 · Sep 2026 · command-line history

example 14 total

  • Enumerate tables in all databases that specifically contain a password column sqlmap -u <url> --dump -C password 0.8 · Mar 2010 · source
  • Force sqlmap to check for stacked query support and apply a 2-second delay between requests. ./sqlmap.py -u 'http://example.com/page?id=1' --stacked-test --delay 2 0.6.3 · Dec 2008 · source
  • Inject a custom User-Agent header while testing for time-based blind injection. ./sqlmap.py -u 'http://example.com/page?id=1' --time-test --headers 'User-Agent: MyBot/1.0' 0.6.3 · Dec 2008 · source
  • Dump a specific range of rows from a table to avoid timeouts or focus on critical data. sqlmap -u "http://example.com/page?id=1" --table users --start 10 --stop 20 0.6.1 · Aug 2008 · source
  • Run sqlmap in the background or within another automation tool without user interaction. sqlmap -u "http://example.com/page?id=1" --batch --dbs 0.6.1 · Aug 2008 · source
  • Extract password hashes from a MySQL target to attempt offline cracking. sqlmap -u "http://example.com/vuln?id=1" --dbs --passwords -D mysql 0.4 · Jun 2007 · source
Saved request replay and deep testing shipped Replays a previously saved HTTP request and runs in-depth injection testing against it. 5 releases · 1 other source · first seen Aug 2008

Shared capability: Web vulnerability scanning

release

  • Adds --headers option to provide extra HTTP headers for requests 0.6.3 · Dec 2008 · source · release history
  • Adds --delay # option to specify the seconds to wait between each HTTP request 0.6.3 · Dec 2008 · source · release history
  • Added multithreading support via --thread to control the maximum number of concurrent HTTP requests 0.6 · Sep 2008 · source · release history
  • Added support (-c) to read options from a configuration file (e.g. sqlmap.conf) and --save to store current options 0.6 · Sep 2008 · source · release history
  • Added --batch option for non-interactive/batch-mode execution. 0.6.1 · Aug 2008 · source · release history

example

  • Replay a saved request with deep testing sqlmap -r request.txt --level 5 --risk 3
Target discovery via search engines shipped Searches search engine results for potential injection points and can run automated tests on discovered targets. 3 releases · 1 other source · first seen Jun 2007

Shared capability: Web vulnerability scanning

Also counts toward: Command-line interface

release

  • Adds --gpage option to specify which Google dork result page to parse with -g 0.8 · Mar 2010 · source · release history
  • Adds -r flag to load a single HTTP request from a text file 0.8 · Mar 2010 · source · release history
  • Added Google dorking feature (-g) to take advantage of Google results affected by SQL injection to perform other command line argument on their DBMS 0.4 · Jun 2007 · source · release history

example

  • Use Google dorking to find vulnerable targets and run a specific injection test on them. sqlmap -g "inurl:products.php?id=1" --dbs 0.4 · Jun 2007 · source
Proxy and log integration shipped Imports test targets and vulnerable parameters from WebScarab or Burp proxy logs for automated scanning. 2 releases · 1 other source · first seen Dec 2008

Shared capability: Web vulnerability scanning

Also counts toward: Import from a competing product

release

  • Adds --scope for regular expression based scope when parsing Burp/Web Scarab logs (-l) 0.8 · Mar 2010 · source · release history
  • Adds -l <filepath> option to import test targets directly from a Burp proxy or WebScarab conversations/ folder path 0.6.3 · Dec 2008 · source · release history

example

  • Import potential vulnerable parameters from a WebScarab proxy log to scan automatically. ./sqlmap.py -l /path/to/webscarab/conversations/ 0.6.3 · Dec 2008 · source
XXE injection testing verified Tests targets for XML External Entity (XXE) injection vulnerabilities. 2 other sources · first seen Aug 2026

Shared capability: Web vulnerability scanning

command line

OData injection testing verified Tests targets for OData $filter injection vulnerabilities. 1 other source · first seen Sep 2026

Shared capability: Web vulnerability scanning

command line

SPARQL injection testing verified Tests targets for SPARQL injection vulnerabilities. 1 other source · first seen Sep 2026

Shared capability: Web vulnerability scanning

command line

Other / not yet classified 5 features Features we have not matched to a capability yet. A suggested match is marked.
Database management and privilege enumeration shipped suggested Retrieves database user privileges, executes OS commands via SQL injection, and provides an interactive shell for direct SQL query execution. 10 releases · first seen Sep 2008

Suggested capability: Web vulnerability scanning. This is our guess, not confirmed.

Also counts toward: Command-line interface

release 10 total

  • Adds --roles switch to enumerate roles on Oracle databases 0.9 · Apr 2011 · source · release history
  • Adds --replicate switch to replicate backend DBMS tables and entries into a local SQLite 3 database 0.9 · Apr 2011 · source · release history
  • Adds -d option to directly connect to a database without exploiting SQL injection 0.9 · Apr 2011 · source · release history
  • Enhances --os-pwn to automatically upload and execute payloads via web backdoor when stacked queries are unsupported 0.8 · Mar 2010 · source · release history
  • Enhances --priv-esc to use Metasploit Meterpreter's getsystem command for SYSTEM elevation on Windows 0.8 · Mar 2010 · source · release history
  • Adds --dump -C <columns> to enumerate and dump tables containing specific columns 0.8 · Mar 2010 · source · release history
HTTP authentication support shipped suggested Supports HTTP Basic and Digest authentication methods for accessing protected targets. 4 releases · 1 other source · first seen Jun 2007

Suggested capability: Credentialed vulnerability scanning. This is our guess, not confirmed.

Also counts toward: Command-line interface

release

  • Adds --auth-cert option for Certificate authentication 0.8 · Mar 2010 · source · release history
  • Adds --auth-type NTLM for NTLM authentication via python-ntlm 0.8 · Mar 2010 · source · release history
  • Implemented support for HTTPS requests over HTTP(S) proxy 0.6 · Sep 2008 · source · release history
  • Added support for HTTP Basic and Digest authentication methods (--basic-auth and --digest-auth) 0.4 · Jun 2007 · source · release history

example

  • Authenticate using an SSL certificate for database access or proxy verification sqlmap -u <url> --auth-cert /path/to/cert.pem 0.8 · Mar 2010 · source
WAF detection verified Detects the presence of a web application firewall protecting the target. 1 other source · first seen Aug 2026

command line

Proxy authentication support shipped Configures HTTP(s) proxy credentials to route traffic through authenticated proxies. 1 release · first seen Apr 2011

Also counts toward: Command-line interface

release

  • Adds --proxy-cred option to configure HTTP(s) proxy authentication credentials 0.9 · Apr 2011 · source · release history
Anti-av evasion shipped Encrypts and compresses executables to evade antivirus detection. 1 release · first seen Mar 2010

release

  • Adds extra/cloak/cloak.py utility for encrypting/compressing executables to evade antivirus detection 0.8 · Mar 2010 · source · release history

Lines in monospace are the tool's own words: help text parsed from its source, or an endpoint from its API document. Under release, a line is our summary of a dated release. Under docs, it is quoted from the tool's own documentation or website. Each links back to the source it came from.

Score card

  1. Shipping velocity releases a month, last 12 months
  2. Documentation quality release-notes rubric, 0–100
  3. Breaking-change discipline how rarely a release breaks users, and notice given
  4. Maintenance risk quiet time against its own cadence, maintainers
  5. Innovation & surface new capabilities, API and MCP surface
  6. Community health
  7. Contributor trend distinct committers, this year against last
  8. Maintainer concentration bus factor now against a year ago
  9. Issue backlog trend issues closed per issue opened, 12 months
  10. Responsiveness median time to a maintainer’s first reply

Nine scores for sqlmap, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.

Score cards are part of every paid plan.

See plans →

Each score is 0–100 on a published rubric, derived from data this site already shows. A dimension we cannot measure says so — it is never scored 0 and never enters a rank.

How this is scored
  • Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
  • Documentation quality — the release-notes rubric published on the analytics page, unchanged.
  • Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
  • Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
  • Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
  • Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
  • Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
  • Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.

Release-note detail over time

See how much detail sqlmap puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.

Checking release-note history…

Explore the full chart →

Releases

Show

10 entries

  1. February 20161
  2. April 20111
  3. March 20101
  4. February 20091
  5. December 20081
  6. September 20081
  7. August 20081
  8. November 20071
  9. June 20071
  10. January 20071
    Show

    10 entries

    Project health

    Issue, contributor and maintainer activity in sqlmapproject/sqlmap, 2023-10 – 2026-09, as of 2026-09-25. Twelve-month figures first; the trend lines run the whole window.

    1. Contributors 14 +7 vs prior 12 months
    2. Maintainers 1 +0 joined · −0 left, last 12 months
    3. Bus factor 1 committers behind half the commits
    4. Community-filed 100% of issues opened, last 12 months
    5. Median time to close < 1 day first maintainer reply 12 hours
    6. Open backlog 25 of 5,441 issues ever filed
    1. Issues opened / month 6 · 0 communitymaintainers
    2. Open backlog 25
    3. Contributors / month 2
    4. Commits / month 22
    5. Stars 38,450
    Issue themes, last 12 months
    • bugs 27%
    • features 7%
    • questions 3%
    • other 63%

    Counts from the project's public repository and git history; no individuals are identified. Maintainers are the committers covering 80% of the last year's commits. how we measure this

    Articles

    15 articles · updated Nov 4, 2026

    Where sqlmap turns up in what others publish: how-tos, attack reports that name it, and incident write-ups. A row says why it is here and quotes where the article names it; the link goes to the publisher.

    • Configure Sqlmap for WEB-GUI in Kali Linux Hacking Articles
      Hello everyone and welcome to this tutorial of setting up SQLMAP for Web-GUI.
      2 more quotes
      SQLMAP is a popular tool for performing SQL injection attacks on sites affected by MySQL errors; be it an error based SQL injection or hidden SQL; sqlmap is the biggest tool there is for performing SQL injection attacks.
      But very few people know that sqlmap also provides an API for its service that is written in python that we can use to develop a front end for the same sqlmap which is on command line interface.
    • Comprehensive Guide to Sqlmap (Target Options) Hacking Articles
      This article will focus on a category of sqlmap commands called the “target commands.” Many might not have tried these commands but they can be proved very useful in the corporate world.
      2 more quotes
      In this article, we’ll be shifting our focus back on one of the finest tools for SQL penetration testing available called SQLMAP.
      By adding ‘ -u <URL>’ in sqlmap command we can specify the URL we are targeting to check for SQL injection.
    • File System Access on Webserver using Sqlmap Hacking Articles
      Hello everyone and welcome to the par two of our sqlmap series.
      2 more quotes
      nmap 192.168.124 As we can see that MySQL is up and running on the host so we are good to apply SQLMAP.
      sqlmap -u 192.168.1.124/sqli/Less-1/?id=1 --dbs Hence, we can see numerous databases loaded, so our sqlmap attack was successful.
    • Database Penetration Testing using Sqlmap (Part 1) Hacking Articles
      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.
      2 more quotes
      Databases For database penetration testing we always choose SQLMAP, this tool is very helpful for beginners who are unable to retrieve database information manually or unaware of SQL injection techniques.
      sqlmap -u "http://testphp.vulnweb.com/artists.php?artist=1" --dbs --batch -u: target URL –dbs: fetch database name –batch: This will leave sqlmap to go with default behavior whenever user’s input would be required Here…
    • Exploiting Form Based Sql Injection using Sqlmap Hacking Articles
      Requirement Xampp/Wamp Server bWAPP Lab Kali Linux: Burp suite, sqlmap tool Setting Up and Launching the Attack Firstly you need to install bWAPP lab in your XAMPP or WAMP server, read the full article from here now…
      2 more quotes
      Use intercepts highlighted data within sqlmap commands.
      Exploiting with sqlmap Now open the terminal of your kali Linux and type following command for the enumeration of databases name.
    Show all 12
    • Exploiting Sql Injection with Nmap and Sqlmap Hacking Articles
      This article is about how to scan any target for SQL injection using NMAP and then exploit the target with sqlmap if NMAP finds the target is vulnerable to SQL injection.
      2 more quotes
      Now let’s try to apply SQL injection using above resultant sqli query of NMAP inside sqlmap and try to figure out whether the result from nmap is correct for SQL injection vulnerability or not.
      Open the terminal in Kali Linux and type the following command for sqlmap sqlmap -u "http://testphp.vulnweb.com/search.php?test=query%27%200R%20sqlspider" --dbs --batch We have got database name from the above resultant…
    • Easy way to Hack Database using Wizard switch in Sqlmap Hacking Articles
      Sqlmap provides wizard options for beginner and saves you much time.
      2 more quotes
      So start your Kali Linux and open the terminal and now the following command to use wizard interface of sqlmap.
      sqlmap -u "http://testphp.vulnweb.com/listproducts.php?cat=1" --wizard Type 1 for normal ; to select the injection difficulty.
    • SQL Injection Exploitation in Multiple Targets using Sqlmap Hacking Articles
      In this article, we are going to perform a SQL injection attack on multiple targets through sqlmap.
      2 more quotes
      Open the terminal and type following command to scan multiple targets through sqlmap for SQL injection.
      sqlmap –m /root/Desktop/sql.txt –dbs --batch So here you can see I have got database names for multiple targets.
    • Sql Injection Exploitation with Sqlmap and Burp Suite (Burp CO2 Plugin) Hacking Articles
      For more details read from here burpco2.com In this is an article I will show you how to obtain sqlmap command through burp suit for SQL injection.
      2 more quotes
      When the fetched data will be sent to SQL mapper it will automatically itself generates sqlmap command using referrer and cookie.
      Now copy the sqlmap command from the text field and run this command manually on terminal using sqlmap .
    • Exploiting the Webserver using Sqlmap and Metasploit (OS-Pwn) Hacking Articles
      This article is about how to use sqlmap for SQL injection to hack victim pc and gain shell access.
      2 more quotes
      Capturing Request and Extracting Cookies Let’s start out SQLMap to Metasploit OS exploitation.
      Burp suit will provide” cookie” and “referrer” under fetched data which will be used later in sqlmap commands.
    • Command Injection Exploitation through Sqlmap in DVWA (OS-cmd) Hacking Articles
      In this article, we will see how to perform command injection using sqlmap and try to execute any cmd command through sqlmap if the web server is having SQL vulnerability.
      2 more quotes
      Requirement Xampp/Wamp Server DVWA Lab Kali Linux: Burp suite, sqlmap tool Very first you need to install DVWA lab in your XAMPP or WAMP server, read the full article from here Logging into DVWA and Setting Security…
      Burp suit will provide” cookie” and “referrer” under fetched data which will later use in sqlmap commands.
    • Shell uploading in Web Server using Sqlmap Hacking Articles
      You may have used sqlmap multiple times for SQL injection to get database information of the web server.
      2 more quotes
      Burp suit will provide” cookie” and “referrer” under fetched data which can be used in sqlmap commands directly.
      Extracting Database Name Now use sqlmap for SQL injection and run the following command to enumerate database name.

    Libraries its release ships

    What its latest release locks, checked against known advisories.

    None of its release's images build from a lockfile we can read.

    Add the badge to your README

    Maintain this project? The badge links readers straight to this page, so they can follow every release here.

    Tracked by Cyber Toolchain Choose a badge style and copy the code →
    browse all tools → score card for your toolchain →