# At least one of these options has to be specified to set the source to1# get target URLs from.2[Target]34# Target URL.5# Example: http://192.168.1.121/sqlmap/mysql/get_int.php?id=1&cat=26url =78# Direct connection to the database.9# Examples:10# mysql://USER:PASSWORD@DBMS_IP:DBMS_PORT/DATABASE_NAME11# oracle://USER:PASSWORD@DBMS_IP:DBMS_PORT/DATABASE_SID12direct =1314# Parse targets from Burp or WebScarab logs15# Valid: Burp proxy (http://portswigger.net/suite/) requests log file path16# or WebScarab proxy (http://www.owasp.org/index.php/Category:OWASP_WebScarab_Project)17# 'conversations/' folder path18logFile =1920# Scan multiple targets enlisted in a given textual file21bulkFile =2223# Load HTTP request from a file24# Example (file content): POST /login.jsp HTTP/1.1\nHost: example.com\nUser-Agent: Mozilla/4.0\n\nuserid=joe&password=guessme25requestFile =2627# Rather than providing a target URL, let Google return target28# hosts as result of your Google dork expression. For a list of Google29# dorks see Google Hacking Database at30# https://www.exploit-db.com/google-hacking-database31# Example: +ext:php +inurl:"&id=" +intext:"powered by "32googleDork =333435# These options can be used to specify how to connect to the target URL.36[Request]3738# Force usage of given HTTP method (e.g. PUT).39method =4041# Data string to be sent through POST (e.g. "id=1").42data =4344# Character used for splitting parameter values (e.g. &).45paramDel =4647# HTTP Cookie header value (e.g. "PHPSESSID=a8d127e..").48cookie =4950# Character used for splitting cookie values (e.g. ;).51cookieDel =5253# Live cookies file used for loading up-to-date values.54liveCookies =5556# File containing cookies in Netscape/wget format.57loadCookies =5859# Ignore Set-Cookie header from response.60# Valid: True or False61dropSetCookie = False6263# Use HTTP version 1.0 (old).64# Valid: True or False65http10 = False6667# Use HTTP version 2 (experimental).68# Valid: True or False69http2 = False7071# HTTP User-Agent header value. Useful to fake the HTTP User-Agent header value72# at each HTTP request.73# sqlmap will also test for SQL injection on the HTTP User-Agent value.74agent =7576# Imitate smartphone through HTTP User-Agent header.77# Valid: True or False78mobile = False7980# Use randomly selected HTTP User-Agent header value.81# Valid: True or False82randomAgent = False8384# HTTP Host header value.85host =8687# HTTP Referer header. Useful to fake the HTTP Referer header value at88# each HTTP request.89referer =9091# Extra HTTP headers92headers = Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.593Accept-Language: en-us,en;q=0.594Accept-Charset: ISO-8859-15,utf-8;q=0.7,*;q=0.79596# HTTP Authentication type. Useful only if the target URL requires97# HTTP Basic, Digest, Bearer or NTLM authentication and you have such data.98# Valid: Basic, Digest, Bearer, NTLM or PKI99authType =100101# HTTP authentication credentials. Useful only if the target URL requires102# HTTP Basic, Digest, Token or NTLM authentication and you have such data.103# Syntax: username:password104authCred =105106# HTTP Authentication PEM private/cert key file. Useful only if the target URL requires107# PKI authentication and you have such data.108# Syntax: key_file109authFile =110111# Abort on (problematic) HTTP error code (e.g. 401).112# Valid: string113abortCode =114115# Ignore (problematic) HTTP error code (e.g. 401).116# Valid: string117ignoreCode =118119# Ignore system default proxy settings.120# Valid: True or False121ignoreProxy = False122123# Ignore redirection attempts.124# Valid: True or False125ignoreRedirects = False126127# Ignore connection timeouts.128# Valid: True or False129ignoreTimeouts = False130131# Use a proxy to connect to the target URL.132# Syntax: (http|https|socks4|socks5)://address:port133proxy =134135# Proxy authentication credentials. Useful only if the proxy requires136# Basic or Digest authentication and you have such data.137# Syntax: username:password138proxyCred =139140# Load proxy list from a file141proxyFile =142143# Use Tor anonymity network.144# Valid: True or False145tor = False146147# Set Tor proxy port other than default.148# Valid: integer149# torPort =150151# Set Tor proxy type.152# Valid: HTTP, SOCKS4, SOCKS5153torType = SOCKS5154155# Check to see if Tor is used properly.156# Valid: True or False157checkTor = False158159# Delay in seconds between each HTTP request.160# Valid: float161# Default: 0162delay = 0163164# Seconds to wait before timeout connection.165# Valid: float166# Default: 30167timeout = 30168169# Maximum number of retries when the HTTP connection timeouts.170# Valid: integer171# Default: 3172retries = 3173174# Retry request on regexp matching content.175retryOn =176177# Randomly change value for the given parameter.178rParam =179180# URL address to visit frequently during testing.181# Example: http://192.168.1.121/index.html182safeUrl =183184# POST data to send to a safe URL.185# Example: username=admin&password=passw0rd!186safePost =187188# Load safe HTTP request from a file.189safeReqFile =190191# Regular requests between visits to a safe URL (default 0).192# Valid: integer193# Default: 0194safeFreq = 0195196# Skip URL encoding of payload data.197# Valid: True or False198skipUrlEncode = False199200# Skip safe (HTML) encoding of payload data for SOAP/XML.201# Valid: True or False202skipXmlEncode = False203204# Parameter used to hold anti-CSRF token.205csrfToken =206207# URL address to visit to extract anti-CSRF token208csrfUrl =209210# HTTP method to use during anti-CSRF token page visit.211csrfMethod =212213# POST data to send during anti-CSRF token page visit.214csrfData =215216# Retries for anti-CSRF token retrieval.217csrfRetries =218219# Force usage of SSL/HTTPS220# Valid: True or False221forceSSL = False222223# Use HTTP chunked transfer encoded requests.224# Valid: True or False225chunked = False226227# Use HTTP parameter pollution.228# Valid: True or False229hpp = False230231# Evaluate provided Python code before the request.232# Example: import hashlib;id2=hashlib.md5(id).hexdigest()233evalCode =234235# These options can be used to optimize the performance of sqlmap.236[Optimization]237238# Use all optimization options.239# Valid: True or False240optimize = False241242# Predict common queries output.243# Valid: True or False244predictOutput = False245246# Use persistent HTTP(s) connections.247keepAlive = False248249# Retrieve page length without actual HTTP response body.250# Valid: True or False251nullConnection = False252253# Maximum number of concurrent HTTP(s) requests (handled with Python threads)254# to be used in the inference SQL injection attack.255# Valid: integer256# Default: 1257threads = 1258259260# These options can be used to specify which parameters to test for,261# provide custom injection payloads and optional tampering scripts.262[Injection]263264# Testable parameter(s) comma separated. By default all GET/POST/Cookie265# parameters and HTTP User-Agent are tested by sqlmap.266testParameter =267268# Skip testing for given parameter(s).269skip =270271# Skip testing parameters that not appear to be dynamic.272# Valid: True or False273skipStatic = False274275# Regexp to exclude parameters from testing (e.g. "ses").276paramExclude =277278# Select testable parameter(s) by place (e.g. "POST").279paramFilter =280281# Force back-end DBMS to provided value. If this option is set, the back-end282# DBMS identification process will be minimized as needed.283# If not set, sqlmap will detect back-end DBMS automatically by default.284# Valid: mssql, mysql, mysql 4, mysql 5, oracle, pgsql, sqlite, sqlite3,285# access, firebird, maxdb, sybase286dbms =287288# DBMS authentication credentials (user:password). Useful if you want to289# run SQL statements as another user, the back-end database management290# system is PostgreSQL or Microsoft SQL Server and the parameter is291# vulnerable by stacked queries SQL injection or you are connecting directly292# to the DBMS (-d switch).293# Syntax: username:password294dbmsCred =295296# Force back-end DBMS operating system to provided value. If this option is297# set, the back-end DBMS identification process will be minimized as298# needed.299# If not set, sqlmap will detect back-end DBMS operating system300# automatically by default.301# Valid: linux, windows302os =303304# Use big numbers for invalidating values.305# Valid: True or False306invalidBignum = False307308# Use logical operations for invalidating values.309# Valid: True or False310invalidLogical = False311312# Use random strings for invalidating values.313# Valid: True or False314invalidString = False315316# Turn off payload casting mechanism317# Valid: True or False318noCast = False319320# Turn off string escaping mechanism321# Valid: True or False322noEscape = False323324# Injection payload prefix string.325prefix =326327# Injection payload suffix string.328suffix =329330# Use given script(s) for tampering injection data.331tamper =332333334# These options can be used to specify how to parse and compare page335# content from HTTP responses when using blind SQL injection technique.336[Detection]337338# Level of tests to perform.339# The higher the value is, the higher the number of HTTP(s) requests are340# as well as the better chances to detect a tricky SQL injection.341# Valid: Integer between 1 and 5342# Default: 1343level = 1344345# Risk of tests to perform.346# Note: boolean-based blind SQL injection tests with AND are considered347# risk 1, with OR are considered risk 3.348# Valid: Integer between 1 and 3349# Default: 1350risk = 1351352# String to match within the raw response when the query is evaluated to353# True, only needed if the page content dynamically changes at each refresh.354# Refer to the user's manual for further details.355string =356357# String to match within the raw response when the query is evaluated to358# False, only needed if the page content dynamically changes at each refresh.359# Refer to the user's manual for further details.360notString =361362# Regular expression to match within the raw response when the query is363# evaluated to True, only needed if the needed if the page content364# dynamically changes at each refresh.365# Refer to the user's manual for further details.366# Valid: regular expression with Python syntax367# (http://www.python.org/doc/2.5.2/lib/re-syntax.html)368regexp =369370# HTTP response code to match when the query is True.371# Valid: Integer372# Example: 200 (assuming any False statement returns a different response373# code)374# code =375376# Conduct thorough tests only if positive heuristic(s).377# Valid: True or False378smart = False379380# Compare pages based only on the textual content.381# Valid: True or False382textOnly = False383384# Compare pages based only on their titles.385# Valid: True or False386titles = False387388389# These options can be used to tweak testing of specific SQL injection390# techniques.391[Techniques]392393# SQL injection techniques to use.394# Valid: a string composed by B, E, U, S, T and Q where:395# B: Boolean-based blind SQL injection396# E: Error-based SQL injection397# U: UNION query SQL injection398# S: Stacked queries SQL injection399# T: Time-based blind SQL injection400# Q: Inline SQL injection401# Example: ES (means test for error-based and stacked queries SQL402# injection types only)403# Default: BEUSTQ (means test for all SQL injection types - recommended)404technique = BEUSTQ405406# Seconds to delay the response from the DBMS.407# Valid: integer408# Default: 5409timeSec = 5410411# Disable the statistical model for detecting the delay.412# Valid: True or False413disableStats = False414415# Range of columns to test for.416# Valid: range of integers417# Example: 1-10418uCols =419420# Character to use for bruteforcing number of columns.421# Valid: string422# Example: NULL423uChar =424425# Table to use in FROM part of UNION query SQL injection.426# Valid: string427# Example: INFORMATION_SCHEMA.COLLATIONS428uFrom =429430# Column values to use for UNION query SQL injection.431# Valid: string432# Example: NULL,1,*,NULL433uValues =434435# Domain name used for DNS exfiltration attack.436# Valid: string437dnsDomain =438439# Resulting page URL searched for second-order response.440# Valid: string441secondUrl =442443# Load second-order HTTP request from file.444# Valid: string445secondReq =446447448[Fingerprint]449450# Perform an extensive back-end database management system fingerprint451# based on various techniques.452# Valid: True or False453extensiveFp = False454455456# These options can be used to enumerate the back-end database457# management system information, structure and data contained in the458# tables. Moreover you can run your own SQL statements.459[Enumeration]460461# Retrieve everything462# Valid: True or False463getAll = False464465# Retrieve back-end database management system banner.466# Valid: True or False467getBanner = False468469# Retrieve back-end database management system current user.470# Valid: True or False471getCurrentUser = False472473# Retrieve back-end database management system current database.474# Valid: True or False475getCurrentDb = False476477# Retrieve back-end database management system server hostname.478# Valid: True or False479getHostname = False480481# Detect if the DBMS current user is DBA.482# Valid: True or False483isDba = False484485# Enumerate back-end database management system users.486# Valid: True or False487getUsers = False488489# Enumerate back-end database management system users password hashes.490# Valid: True or False491getPasswordHashes = False492493# Enumerate back-end database management system users privileges.494# Valid: True or False495getPrivileges = False496497# Enumerate back-end database management system users roles.498# Valid: True or False499getRoles = False500501# Enumerate back-end database management system databases.502# Valid: True or False503getDbs = False504505# Enumerate back-end database management system database tables.506# Optional: db507# Valid: True or False508getTables = False509510# Enumerate back-end database management system database table columns.511# Optional: db, tbl, col512# Valid: True or False513getColumns = False514515# Enumerate back-end database management system schema.516# Valid: True or False517getSchema = False518519# Retrieve number of entries for table(s).520# Valid: True or False521getCount = False522523# Dump back-end database management system database table entries.524# Requires: tbl and/or col525# Optional: db526# Valid: True or False527dumpTable = False528529# Dump all back-end database management system databases tables entries.530# Valid: True or False531dumpAll = False532533# Search column(s), table(s) and/or database name(s).534# Requires: db, tbl or col535# Valid: True or False536search = False537538# Check for database management system database comments during enumeration.539# Valid: True or False540getComments = False541542# Retrieve SQL statements being run on database management system.543# Valid: True or False544getStatements = False545546# Back-end database management system database to enumerate.547db =548549# Back-end database management system database table(s) to enumerate.550tbl =551552# Back-end database management system database table column(s) to enumerate.553col =554555# Back-end database management system identifiers (database(s), table(s) and column(s)) to not enumerate.556exclude =557558# Pivot column name.559pivotColumn =560561# Use WHERE condition while table dumping (e.g. "id=1").562dumpWhere =563564# Back-end database management system database user to enumerate.565user =566567# Exclude DBMS system databases when enumerating tables.568# Valid: True or False569excludeSysDbs = False570571# First query output entry to retrieve572# Valid: integer573# Default: 0 (sqlmap will start to retrieve the table dump entries from574# first one)575limitStart = 0576577# Last query output entry to retrieve578# Valid: integer579# Default: 0 (sqlmap will detect the number of table dump entries and580# retrieve them until the last)581limitStop = 0582583# First query output word character to retrieve584# Valid: integer585# Default: 0 (sqlmap will enumerate the query output from the first586# character)587firstChar = 0588589# Last query output word character to retrieve590# Valid: integer591# Default: 0 (sqlmap will enumerate the query output until the last592# character)593lastChar = 0594595# SQL statement to be executed.596# Example: SELECT 'foo', 'bar'597sqlQuery =598599# Prompt for an interactive SQL shell.600# Valid: True or False601sqlShell = False602603# Execute SQL statements from given file(s).604sqlFile =605606607# These options can be used to run brute force checks.608[Brute force]609610# Check existence of common tables.611# Valid: True or False612commonTables = False613614# Check existence of common columns.615# Valid: True or False616commonColumns = False617618# Check existence of common files.619# Valid: True or False620commonFiles = False621622623# These options can be used to create custom user-defined functions.624[User-defined function]625626# Inject custom user-defined functions627# Valid: True or False628udfInject = False629630# Local path of the shared library631shLib =632633634# These options can be used to access the back-end database management635# system underlying file system.636[File system]637638# Read a specific file from the back-end DBMS underlying file system.639# Examples: /etc/passwd or C:\boot.ini640fileRead =641642# Write a local file to a specific path on the back-end DBMS underlying643# file system.644# Example: /tmp/sqlmap.txt or C:\WINNT\Temp\sqlmap.txt645fileWrite =646647# Back-end DBMS absolute filepath to write the file to.648fileDest =649650651# These options can be used to access the back-end database management652# system underlying operating system.653[Takeover]654655# Execute an operating system command.656# Valid: operating system command657osCmd =658659# Prompt for an interactive operating system shell.660# Valid: True or False661osShell = False662663# Prompt for an out-of-band shell, Meterpreter or VNC.664# Valid: True or False665osPwn = False666667# One click prompt for an out-of-band shell, Meterpreter or VNC.668# Valid: True or False669osSmb = False670671# Microsoft SQL Server 2000 and 2005 'sp_replwritetovarbin' stored672# procedure heap-based buffer overflow (MS09-004) exploitation.673# Valid: True or False674osBof = False675676# Database process' user privilege escalation.677# Note: Use in conjunction with osPwn, osSmb or osBof. It will force the678# payload to be Meterpreter.679privEsc = False680681# Local path where Metasploit Framework is installed.682# Valid: file system path683msfPath =684685# Remote absolute path of temporary files directory.686# Valid: absolute file system path687tmpPath =688689690# These options can be used to access the back-end database management691# system Windows registry.692[Windows]693694# Read a Windows registry key value.695# Valid: True or False696regRead = False697698# Write a Windows registry key value data.699# Valid: True or False700regAdd = False701702# Delete a Windows registry key value.703# Valid: True or False704regDel = False705706# Windows registry key.707regKey =708709# Windows registry key value.710regVal =711712# Windows registry key value data.713regData =714715# Windows registry key value type.716regType =717718719# These options can be used to set some general working parameters.720[General]721722# Load session from a stored (.sqlite) file723# Example: output/www.target.com/session.sqlite724sessionFile =725726# Log all HTTP traffic into a textual file.727trafficFile =728729# Abort data retrieval on empty results.730abortOnEmpty = False731732# Set predefined answers (e.g. "quit=N,follow=N").733answers =734735# Parameter(s) containing Base64 encoded data736base64Parameter =737738# Use URL and filename safe Base64 alphabet (Reference: https://en.wikipedia.org/wiki/Base64#URL_applications).739# Valid: True or False740base64Safe = False741742# Never ask for user input, use the default behaviour.743# Valid: True or False744batch = False745746# Result fields having binary values (e.g. "digest").747binaryFields =748749# Check Internet connection before assessing the target.750checkInternet = False751752# Clean up the DBMS from sqlmap specific UDF and tables.753# Valid: True or False754cleanup = False755756# Crawl the website starting from the target URL.757# Valid: integer758# Default: 0759crawlDepth = 0760761# Regexp to exclude pages from crawling (e.g. "logout").762crawlExclude =763764# Delimiting character used in CSV output.765# Default: ,766csvDel = ,767768# Store dumped data to a custom file.769dumpFile =770771# Format of dumped data772# Valid: CSV, HTML or SQLITE773dumpFormat = CSV774775# Force character encoding used for data retrieval.776encoding =777778# Retrieve each query output length and calculate the estimated time of779# arrival in real time.780# Valid: True or False781eta = False782783# Flush session files for current target.784# Valid: True or False785flushSession = False786787# Parse and test forms on target URL.788# Valid: True or False789forms = False790791# Ignore query results stored in session file.792# Valid: True or False793freshQueries = False794795# Use Google dork results from specified page number.796# Valid: integer797# Default: 1798googlePage = 1799800# Use hex conversion during data retrieval.801# Valid: True or False802hexConvert = False803804# Custom output directory path.805outputDir =806807# Parse and display DBMS error messages from responses.808# Valid: True or False809parseErrors = False810811# Use given script(s) for preprocessing of request.812preprocess =813814# Use given script(s) for postprocessing of response data.815postprocess =816817# Redump entries having unknown character marker (?).818# Valid: True or False819repair = False820821# Regular expression for filtering targets from provided Burp.822# or WebScarab proxy log.823# Example: (google|yahoo)824scope =825826# Skip heuristic detection of SQLi/XSS vulnerabilities.827# Valid: True or False828skipHeuristics = False829830# Skip heuristic detection of WAF/IPS protection.831# Valid: True or False832skipWaf = False833834# Prefix used for temporary tables.835# Default: sqlmap836tablePrefix = sqlmap837838# Select tests by payloads and/or titles (e.g. ROW).839testFilter =840841# Skip tests by payloads and/or titles (e.g. BENCHMARK).842testSkip =843844# Run with a time limit in seconds (e.g. 3600).845timeLimit =846847# Disable escaping of DBMS identifiers (e.g. "user").848unsafeNaming = False849850# Web server document root directory (e.g. "/var/www").851webRoot =852853854[Miscellaneous]855856# Run host OS command(s) when SQL injection is found.857alert =858859# Beep on question and/or when SQL injection is found.860# Valid: True or False861beep = False862863# Offline WAF/IPS payload detection testing.864# Valid: True or False865checkPayload = False866867# Check for missing (optional) sqlmap dependencies.868# Valid: True or False869dependencies = False870871# Disable console output coloring.872# Valid: True or False873disableColoring = False874875# Disable hash analysis on table dumps.876# Valid: True or False877disableHashing = False878879# Display list of available tamper scripts.880# Valid: True or False881listTampers = False882883# Disable logging to a file.884# Valid: True or False885noLogging = False886887# Disable console output truncation.888# Valid: True or False889noTruncate = False890891# Work in offline mode (only use session data)892# Valid: True or False893offline = False894895# Location of CSV results file in multiple targets mode.896resultsFile =897898# Local directory for storing temporary files.899tmpDir =900901# Adjust options for unstable connections.902# Valid: True or False903unstable = False904905# Update sqlmap.906# Valid: True or False907updateAll = False908909# Simple wizard interface for beginner users.910# Valid: True or False911wizard = False912913# Verbosity level.914# Valid: integer between 0 and 6915# 0: Show only error and critical messages916# 1: Show also warning and info messages917# 2: Show also debug messages918# 3: Show also payloads injected919# 4: Show also HTTP requests920# 5: Show also HTTP responses' headers921# 6: Show also HTTP responses' page content922# Default: 1923verbose = 1924925926