# 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# Parameter used to hold anti-CSRF token.201csrfToken =202203# URL address to visit to extract anti-CSRF token204csrfUrl =205206# HTTP method to use during anti-CSRF token page visit.207csrfMethod =208209# POST data to send during anti-CSRF token page visit.210csrfData =211212# Retries for anti-CSRF token retrieval.213csrfRetries =214215# Force usage of SSL/HTTPS216# Valid: True or False217forceSSL = False218219# Use HTTP chunked transfer encoded requests.220# Valid: True or False221chunked = False222223# Use HTTP parameter pollution.224# Valid: True or False225hpp = False226227# Evaluate provided Python code before the request.228# Example: import hashlib;id2=hashlib.md5(id).hexdigest()229evalCode =230231# These options can be used to optimize the performance of sqlmap.232[Optimization]233234# Use all optimization options.235# Valid: True or False236optimize = False237238# Predict common queries output.239# Valid: True or False240predictOutput = False241242# Use persistent HTTP(s) connections.243keepAlive = False244245# Retrieve page length without actual HTTP response body.246# Valid: True or False247nullConnection = False248249# Maximum number of concurrent HTTP(s) requests (handled with Python threads)250# to be used in the inference SQL injection attack.251# Valid: integer252# Default: 1253threads = 1254255256# These options can be used to specify which parameters to test for,257# provide custom injection payloads and optional tampering scripts.258[Injection]259260# Testable parameter(s) comma separated. By default all GET/POST/Cookie261# parameters and HTTP User-Agent are tested by sqlmap.262testParameter =263264# Skip testing for given parameter(s).265skip =266267# Skip testing parameters that not appear to be dynamic.268# Valid: True or False269skipStatic = False270271# Regexp to exclude parameters from testing (e.g. "ses").272paramExclude =273274# Select testable parameter(s) by place (e.g. "POST").275paramFilter =276277# Force back-end DBMS to provided value. If this option is set, the back-end278# DBMS identification process will be minimized as needed.279# If not set, sqlmap will detect back-end DBMS automatically by default.280# Valid: mssql, mysql, mysql 4, mysql 5, oracle, pgsql, sqlite, sqlite3,281# access, firebird, maxdb, sybase282dbms =283284# DBMS authentication credentials (user:password). Useful if you want to285# run SQL statements as another user, the back-end database management286# system is PostgreSQL or Microsoft SQL Server and the parameter is287# vulnerable by stacked queries SQL injection or you are connecting directly288# to the DBMS (-d switch).289# Syntax: username:password290dbmsCred =291292# Force back-end DBMS operating system to provided value. If this option is293# set, the back-end DBMS identification process will be minimized as294# needed.295# If not set, sqlmap will detect back-end DBMS operating system296# automatically by default.297# Valid: linux, windows298os =299300# Use big numbers for invalidating values.301# Valid: True or False302invalidBignum = False303304# Use logical operations for invalidating values.305# Valid: True or False306invalidLogical = False307308# Use random strings for invalidating values.309# Valid: True or False310invalidString = False311312# Turn off payload casting mechanism313# Valid: True or False314noCast = False315316# Turn off string escaping mechanism317# Valid: True or False318noEscape = False319320# Injection payload prefix string.321prefix =322323# Injection payload suffix string.324suffix =325326# Use given script(s) for tampering injection data.327tamper =328329330# These options can be used to specify how to parse and compare page331# content from HTTP responses when using blind SQL injection technique.332[Detection]333334# Level of tests to perform.335# The higher the value is, the higher the number of HTTP(s) requests are336# as well as the better chances to detect a tricky SQL injection.337# Valid: Integer between 1 and 5338# Default: 1339level = 1340341# Risk of tests to perform.342# Note: boolean-based blind SQL injection tests with AND are considered343# risk 1, with OR are considered risk 3.344# Valid: Integer between 1 and 3345# Default: 1346risk = 1347348# String to match within the raw response when the query is evaluated to349# True, only needed if the page content dynamically changes at each refresh.350# Refer to the user's manual for further details.351string =352353# String to match within the raw response when the query is evaluated to354# False, only needed if the page content dynamically changes at each refresh.355# Refer to the user's manual for further details.356notString =357358# Regular expression to match within the raw response when the query is359# evaluated to True, only needed if the needed if the page content360# dynamically changes at each refresh.361# Refer to the user's manual for further details.362# Valid: regular expression with Python syntax363# (http://www.python.org/doc/2.5.2/lib/re-syntax.html)364regexp =365366# HTTP response code to match when the query is True.367# Valid: Integer368# Example: 200 (assuming any False statement returns a different response369# code)370# code =371372# Conduct thorough tests only if positive heuristic(s).373# Valid: True or False374smart = False375376# Compare pages based only on the textual content.377# Valid: True or False378textOnly = False379380# Compare pages based only on their titles.381# Valid: True or False382titles = False383384385# These options can be used to tweak testing of specific SQL injection386# techniques.387[Techniques]388389# SQL injection techniques to use.390# Valid: a string composed by B, E, U, S, T and Q where:391# B: Boolean-based blind SQL injection392# E: Error-based SQL injection393# U: UNION query SQL injection394# S: Stacked queries SQL injection395# T: Time-based blind SQL injection396# Q: Inline SQL injection397# Example: ES (means test for error-based and stacked queries SQL398# injection types only)399# Default: BEUSTQ (means test for all SQL injection types - recommended)400technique = BEUSTQ401402# Seconds to delay the response from the DBMS.403# Valid: integer404# Default: 5405timeSec = 5406407# Disable the statistical model for detecting the delay.408# Valid: True or False409disableStats = False410411# Range of columns to test for.412# Valid: range of integers413# Example: 1-10414uCols =415416# Character to use for bruteforcing number of columns.417# Valid: string418# Example: NULL419uChar =420421# Table to use in FROM part of UNION query SQL injection.422# Valid: string423# Example: INFORMATION_SCHEMA.COLLATIONS424uFrom =425426# Column values to use for UNION query SQL injection.427# Valid: string428# Example: NULL,1,*,NULL429uValues =430431# Domain name used for DNS exfiltration attack.432# Valid: string433dnsDomain =434435# Resulting page URL searched for second-order response.436# Valid: string437secondUrl =438439# Load second-order HTTP request from file.440# Valid: string441secondReq =442443444[Fingerprint]445446# Perform an extensive back-end database management system fingerprint447# based on various techniques.448# Valid: True or False449extensiveFp = False450451452# These options can be used to enumerate the back-end database453# management system information, structure and data contained in the454# tables. Moreover you can run your own SQL statements.455[Enumeration]456457# Retrieve everything458# Valid: True or False459getAll = False460461# Retrieve back-end database management system banner.462# Valid: True or False463getBanner = False464465# Retrieve back-end database management system current user.466# Valid: True or False467getCurrentUser = False468469# Retrieve back-end database management system current database.470# Valid: True or False471getCurrentDb = False472473# Retrieve back-end database management system server hostname.474# Valid: True or False475getHostname = False476477# Detect if the DBMS current user is DBA.478# Valid: True or False479isDba = False480481# Enumerate back-end database management system users.482# Valid: True or False483getUsers = False484485# Enumerate back-end database management system users password hashes.486# Valid: True or False487getPasswordHashes = False488489# Enumerate back-end database management system users privileges.490# Valid: True or False491getPrivileges = False492493# Enumerate back-end database management system users roles.494# Valid: True or False495getRoles = False496497# Enumerate back-end database management system databases.498# Valid: True or False499getDbs = False500501# Enumerate back-end database management system database tables.502# Optional: db503# Valid: True or False504getTables = False505506# Enumerate back-end database management system database table columns.507# Optional: db, tbl, col508# Valid: True or False509getColumns = False510511# Enumerate back-end database management system schema.512# Valid: True or False513getSchema = False514515# Retrieve number of entries for table(s).516# Valid: True or False517getCount = False518519# Dump back-end database management system database table entries.520# Requires: tbl and/or col521# Optional: db522# Valid: True or False523dumpTable = False524525# Dump all back-end database management system databases tables entries.526# Valid: True or False527dumpAll = False528529# Search column(s), table(s) and/or database name(s).530# Requires: db, tbl or col531# Valid: True or False532search = False533534# Check for database management system database comments during enumeration.535# Valid: True or False536getComments = False537538# Retrieve SQL statements being run on database management system.539# Valid: True or False540getStatements = False541542# Back-end database management system database to enumerate.543db =544545# Back-end database management system database table(s) to enumerate.546tbl =547548# Back-end database management system database table column(s) to enumerate.549col =550551# Back-end database management system identifiers (database(s), table(s) and column(s)) to not enumerate.552exclude =553554# Pivot column name.555pivotColumn =556557# Use WHERE condition while table dumping (e.g. "id=1").558dumpWhere =559560# Back-end database management system database user to enumerate.561user =562563# Exclude DBMS system databases when enumerating tables.564# Valid: True or False565excludeSysDbs = False566567# First query output entry to retrieve568# Valid: integer569# Default: 0 (sqlmap will start to retrieve the table dump entries from570# first one)571limitStart = 0572573# Last query output entry to retrieve574# Valid: integer575# Default: 0 (sqlmap will detect the number of table dump entries and576# retrieve them until the last)577limitStop = 0578579# First query output word character to retrieve580# Valid: integer581# Default: 0 (sqlmap will enumerate the query output from the first582# character)583firstChar = 0584585# Last query output word character to retrieve586# Valid: integer587# Default: 0 (sqlmap will enumerate the query output until the last588# character)589lastChar = 0590591# SQL statement to be executed.592# Example: SELECT 'foo', 'bar'593sqlQuery =594595# Prompt for an interactive SQL shell.596# Valid: True or False597sqlShell = False598599# Execute SQL statements from given file(s).600sqlFile =601602603# These options can be used to run brute force checks.604[Brute force]605606# Check existence of common tables.607# Valid: True or False608commonTables = False609610# Check existence of common columns.611# Valid: True or False612commonColumns = False613614# Check existence of common files.615# Valid: True or False616commonFiles = False617618619# These options can be used to create custom user-defined functions.620[User-defined function]621622# Inject custom user-defined functions623# Valid: True or False624udfInject = False625626# Local path of the shared library627shLib =628629630# These options can be used to access the back-end database management631# system underlying file system.632[File system]633634# Read a specific file from the back-end DBMS underlying file system.635# Examples: /etc/passwd or C:\boot.ini636fileRead =637638# Write a local file to a specific path on the back-end DBMS underlying639# file system.640# Example: /tmp/sqlmap.txt or C:\WINNT\Temp\sqlmap.txt641fileWrite =642643# Back-end DBMS absolute filepath to write the file to.644fileDest =645646647# These options can be used to access the back-end database management648# system underlying operating system.649[Takeover]650651# Execute an operating system command.652# Valid: operating system command653osCmd =654655# Prompt for an interactive operating system shell.656# Valid: True or False657osShell = False658659# Prompt for an out-of-band shell, Meterpreter or VNC.660# Valid: True or False661osPwn = False662663# One click prompt for an out-of-band shell, Meterpreter or VNC.664# Valid: True or False665osSmb = False666667# Microsoft SQL Server 2000 and 2005 'sp_replwritetovarbin' stored668# procedure heap-based buffer overflow (MS09-004) exploitation.669# Valid: True or False670osBof = False671672# Database process' user privilege escalation.673# Note: Use in conjunction with osPwn, osSmb or osBof. It will force the674# payload to be Meterpreter.675privEsc = False676677# Local path where Metasploit Framework is installed.678# Valid: file system path679msfPath =680681# Remote absolute path of temporary files directory.682# Valid: absolute file system path683tmpPath =684685686# These options can be used to access the back-end database management687# system Windows registry.688[Windows]689690# Read a Windows registry key value.691# Valid: True or False692regRead = False693694# Write a Windows registry key value data.695# Valid: True or False696regAdd = False697698# Delete a Windows registry key value.699# Valid: True or False700regDel = False701702# Windows registry key.703regKey =704705# Windows registry key value.706regVal =707708# Windows registry key value data.709regData =710711# Windows registry key value type.712regType =713714715# These options can be used to set some general working parameters.716[General]717718# Load session from a stored (.sqlite) file719# Example: output/www.target.com/session.sqlite720sessionFile =721722# Log all HTTP traffic into a textual file.723trafficFile =724725# Abort data retrieval on empty results.726abortOnEmpty = False727728# Set predefined answers (e.g. "quit=N,follow=N").729answers =730731# Parameter(s) containing Base64 encoded data732base64Parameter =733734# Use URL and filename safe Base64 alphabet (Reference: https://en.wikipedia.org/wiki/Base64#URL_applications).735# Valid: True or False736base64Safe = False737738# Never ask for user input, use the default behaviour.739# Valid: True or False740batch = False741742# Result fields having binary values (e.g. "digest").743binaryFields =744745# Check Internet connection before assessing the target.746checkInternet = False747748# Clean up the DBMS from sqlmap specific UDF and tables.749# Valid: True or False750cleanup = False751752# Crawl the website starting from the target URL.753# Valid: integer754# Default: 0755crawlDepth = 0756757# Regexp to exclude pages from crawling (e.g. "logout").758crawlExclude =759760# Delimiting character used in CSV output.761# Default: ,762csvDel = ,763764# Store dumped data to a custom file.765dumpFile =766767# Format of dumped data768# Valid: CSV, HTML or SQLITE769dumpFormat = CSV770771# Force character encoding used for data retrieval.772encoding =773774# Retrieve each query output length and calculate the estimated time of775# arrival in real time.776# Valid: True or False777eta = False778779# Flush session files for current target.780# Valid: True or False781flushSession = False782783# Parse and test forms on target URL.784# Valid: True or False785forms = False786787# Ignore query results stored in session file.788# Valid: True or False789freshQueries = False790791# Use Google dork results from specified page number.792# Valid: integer793# Default: 1794googlePage = 1795796# Use hex conversion during data retrieval.797# Valid: True or False798hexConvert = False799800# Custom output directory path.801outputDir =802803# Parse and display DBMS error messages from responses.804# Valid: True or False805parseErrors = False806807# Use given script(s) for preprocessing of request.808preprocess =809810# Use given script(s) for postprocessing of response data.811postprocess =812813# Redump entries having unknown character marker (?).814# Valid: True or False815repair = False816817# Regular expression for filtering targets from provided Burp.818# or WebScarab proxy log.819# Example: (google|yahoo)820scope =821822# Skip heuristic detection of SQLi/XSS vulnerabilities.823# Valid: True or False824skipHeuristics = False825826# Skip heuristic detection of WAF/IPS protection.827# Valid: True or False828skipWaf = False829830# Prefix used for temporary tables.831# Default: sqlmap832tablePrefix = sqlmap833834# Select tests by payloads and/or titles (e.g. ROW).835testFilter =836837# Skip tests by payloads and/or titles (e.g. BENCHMARK).838testSkip =839840# Run with a time limit in seconds (e.g. 3600).841timeLimit =842843# Disable escaping of DBMS identifiers (e.g. "user").844unsafeNaming = False845846# Web server document root directory (e.g. "/var/www").847webRoot =848849850[Miscellaneous]851852# Run host OS command(s) when SQL injection is found.853alert =854855# Beep on question and/or when SQL injection is found.856# Valid: True or False857beep = False858859# Offline WAF/IPS payload detection testing.860# Valid: True or False861checkPayload = False862863# Check for missing (optional) sqlmap dependencies.864# Valid: True or False865dependencies = False866867# Disable console output coloring.868# Valid: True or False869disableColoring = False870871# Disable hash analysis on table dumps.872# Valid: True or False873disableHashing = False874875# Display list of available tamper scripts.876# Valid: True or False877listTampers = False878879# Disable logging to a file.880# Valid: True or False881noLogging = False882883# Disable console output truncation.884# Valid: True or False885noTruncate = False886887# Work in offline mode (only use session data)888# Valid: True or False889offline = False890891# Location of CSV results file in multiple targets mode.892resultsFile =893894# Local directory for storing temporary files.895tmpDir =896897# Adjust options for unstable connections.898# Valid: True or False899unstable = False900901# Update sqlmap.902# Valid: True or False903updateAll = False904905# Simple wizard interface for beginner users.906# Valid: True or False907wizard = False908909# Verbosity level.910# Valid: integer between 0 and 6911# 0: Show only error and critical messages912# 1: Show also warning and info messages913# 2: Show also debug messages914# 3: Show also payloads injected915# 4: Show also HTTP requests916# 5: Show also HTTP responses' headers917# 6: Show also HTTP responses' page content918# Default: 1919verbose = 1920921922