sqlmap 最新版使用说明中文翻译


英文版

        ___
       __H__
 ___ ___[(]_____ ___ ___  {1.8.8.1#dev}
|_ -| . [.]     | .'| . |
|___|_  [,]_|_|_|__,|  _|
      |_|V...       |_|   https://sqlmap.org

Usage: python sqlmap.py [options]

Options:
  -h, --help            Show basic help message and exit
  -hh                   Show advanced help message and exit
  --version             Show program's version number and exit
  -v VERBOSE            Verbosity level: 0-6 (default 1)

  Target:
    At least one of these options has to be provided to define the
    target(s)

    -u URL, --url=URL   Target URL (e.g. "http://www.site.com/vuln.php?id=1")
    -d DIRECT           Connection string for direct database connection
    -l LOGFILE          Parse target(s) from Burp or WebScarab proxy log file
    -m BULKFILE         Scan multiple targets given in a textual file
    -r REQUESTFILE      Load HTTP request from a file
    -g GOOGLEDORK       Process Google dork results as target URLs
    -c CONFIGFILE       Load options from a configuration INI file

  Request:
    These options can be used to specify how to connect to the target URL

    -A AGENT, --user..  HTTP User-Agent header value
    -H HEADER, --hea..  Extra header (e.g. "X-Forwarded-For: 127.0.0.1")
    --method=METHOD     Force usage of given HTTP method (e.g. PUT)
    --data=DATA         Data string to be sent through POST (e.g. "id=1")
    --param-del=PARA..  Character used for splitting parameter values (e.g. &)
    --cookie=COOKIE     HTTP Cookie header value (e.g. "PHPSESSID=a8d127e..")
    --cookie-del=COO..  Character used for splitting cookie values (e.g. ;)
    --live-cookies=L..  Live cookies file used for loading up-to-date values
    --load-cookies=L..  File containing cookies in Netscape/wget format
    --drop-set-cookie   Ignore Set-Cookie header from response
    --mobile            Imitate smartphone through HTTP User-Agent header
    --random-agent      Use randomly selected HTTP User-Agent header value
    --host=HOST         HTTP Host header value
    --referer=REFERER   HTTP Referer header value
    --headers=HEADERS   Extra headers (e.g. "Accept-Language: fr\nETag: 123")
    --auth-type=AUTH..  HTTP authentication type (Basic, Digest, Bearer, ...)
    --auth-cred=AUTH..  HTTP authentication credentials (name:password)
    --auth-file=AUTH..  HTTP authentication PEM cert/private key file
    --abort-code=ABO..  Abort on (problematic) HTTP error code(s) (e.g. 401)
    --ignore-code=IG..  Ignore (problematic) HTTP error code(s) (e.g. 401)
    --ignore-proxy      Ignore system default proxy settings
    --ignore-redirects  Ignore redirection attempts
    --ignore-timeouts   Ignore connection timeouts
    --proxy=PROXY       Use a proxy to connect to the target URL
    --proxy-cred=PRO..  Proxy authentication credentials (name:password)
    --proxy-file=PRO..  Load proxy list from a file
    --proxy-freq=PRO..  Requests between change of proxy from a given list
    --tor               Use Tor anonymity network
    --tor-port=TORPORT  Set Tor proxy port other than default
    --tor-type=TORTYPE  Set Tor proxy type (HTTP, SOCKS4 or SOCKS5 (default))
    --check-tor         Check to see if Tor is used properly
    --delay=DELAY       Delay in seconds between each HTTP request
    --timeout=TIMEOUT   Seconds to wait before timeout connection (default 30)
    --retries=RETRIES   Retries when the connection timeouts (default 3)
    --retry-on=RETRYON  Retry request on regexp matching content (e.g. "drop")
    --randomize=RPARAM  Randomly change value for given parameter(s)
    --safe-url=SAFEURL  URL address to visit frequently during testing
    --safe-post=SAFE..  POST data to send to a safe URL
    --safe-req=SAFER..  Load safe HTTP request from a file
    --safe-freq=SAFE..  Regular requests between visits to a safe URL
    --skip-urlencode    Skip URL encoding of payload data
    --csrf-token=CSR..  Parameter used to hold anti-CSRF token
    --csrf-url=CSRFURL  URL address to visit for extraction of anti-CSRF token
    --csrf-method=CS..  HTTP method to use during anti-CSRF token page visit
    --csrf-data=CSRF..  POST data to send during anti-CSRF token page visit
    --csrf-retries=C..  Retries for anti-CSRF token retrieval (default 0)
    --force-ssl         Force usage of SSL/HTTPS
    --chunked           Use HTTP chunked transfer encoded (POST) requests
    --hpp               Use HTTP parameter pollution method
    --eval=EVALCODE     Evaluate provided Python code before the request (e.g.
                        "import hashlib;id2=hashlib.md5(id).hexdigest()")

  Optimization:
    These options can be used to optimize the performance of sqlmap

    -o                  Turn on all optimization switches
    --predict-output    Predict common queries output
    --keep-alive        Use persistent HTTP(s) connections
    --null-connection   Retrieve page length without actual HTTP response body
    --threads=THREADS   Max number of concurrent HTTP(s) requests (default 1)

  Injection:
    These options can be used to specify which parameters to test for,
    provide custom injection payloads and optional tampering scripts

    -p TESTPARAMETER    Testable parameter(s)
    --skip=SKIP         Skip testing for given parameter(s)
    --skip-static       Skip testing parameters that not appear to be dynamic
    --param-exclude=..  Regexp to exclude parameters from testing (e.g. "ses")
    --param-filter=P..  Select testable parameter(s) by place (e.g. "POST")
    --dbms=DBMS         Force back-end DBMS to provided value
    --dbms-cred=DBMS..  DBMS authentication credentials (user:password)
    --os=OS             Force back-end DBMS operating system to provided value
    --invalid-bignum    Use big numbers for invalidating values
    --invalid-logical   Use logical operations for invalidating values
    --invalid-string    Use random strings for invalidating values
    --no-cast           Turn off payload casting mechanism
    --no-escape         Turn off string escaping mechanism
    --prefix=PREFIX     Injection payload prefix string
    --suffix=SUFFIX     Injection payload suffix string
    --tamper=TAMPER     Use given script(s) for tampering injection data

  Detection:
    These options can be used to customize the detection phase

    --level=LEVEL       Level of tests to perform (1-5, default 1)
    --risk=RISK         Risk of tests to perform (1-3, default 1)
    --string=STRING     String to match when query is evaluated to True
    --not-string=NOT..  String to match when query is evaluated to False
    --regexp=REGEXP     Regexp to match when query is evaluated to True
    --code=CODE         HTTP code to match when query is evaluated to True
    --smart             Perform thorough tests only if positive heuristic(s)
    --text-only         Compare pages based only on the textual content
    --titles            Compare pages based only on their titles

  Techniques:
    These options can be used to tweak testing of specific SQL injection
    techniques

    --technique=TECH..  SQL injection techniques to use (default "BEUSTQ")
    --time-sec=TIMESEC  Seconds to delay the DBMS response (default 5)
    --union-cols=UCOLS  Range of columns to test for UNION query SQL injection
    --union-char=UCHAR  Character to use for bruteforcing number of columns
    --union-from=UFROM  Table to use in FROM part of UNION query SQL injection
    --union-values=U..  Column values to use for UNION query SQL injection
    --dns-domain=DNS..  Domain name used for DNS exfiltration attack
    --second-url=SEC..  Resulting page URL searched for second-order response
    --second-req=SEC..  Load second-order HTTP request from file

  Fingerprint:
    -f, --fingerprint   Perform an extensive DBMS version fingerprint

  Enumeration:
    These options can be used to enumerate the back-end database
    management system information, structure and data contained in the
    tables

    -a, --all           Retrieve everything
    -b, --banner        Retrieve DBMS banner
    --current-user      Retrieve DBMS current user
    --current-db        Retrieve DBMS current database
    --hostname          Retrieve DBMS server hostname
    --is-dba            Detect if the DBMS current user is DBA
    --users             Enumerate DBMS users
    --passwords         Enumerate DBMS users password hashes
    --privileges        Enumerate DBMS users privileges
    --roles             Enumerate DBMS users roles
    --dbs               Enumerate DBMS databases
    --tables            Enumerate DBMS database tables
    --columns           Enumerate DBMS database table columns
    --schema            Enumerate DBMS schema
    --count             Retrieve number of entries for table(s)
    --dump              Dump DBMS database table entries
    --dump-all          Dump all DBMS databases tables entries
    --search            Search column(s), table(s) and/or database name(s)
    --comments          Check for DBMS comments during enumeration
    --statements        Retrieve SQL statements being run on DBMS
    -D DB               DBMS database to enumerate
    -T TBL              DBMS database table(s) to enumerate
    -C COL              DBMS database table column(s) to enumerate
    -X EXCLUDE          DBMS database identifier(s) to not enumerate
    -U USER             DBMS user to enumerate
    --exclude-sysdbs    Exclude DBMS system databases when enumerating tables
    --pivot-column=P..  Pivot column name
    --where=DUMPWHERE   Use WHERE condition while table dumping
    --start=LIMITSTART  First dump table entry to retrieve
    --stop=LIMITSTOP    Last dump table entry to retrieve
    --first=FIRSTCHAR   First query output word character to retrieve
    --last=LASTCHAR     Last query output word character to retrieve
    --sql-query=SQLQ..  SQL statement to be executed
    --sql-shell         Prompt for an interactive SQL shell
    --sql-file=SQLFILE  Execute SQL statements from given file(s)

  Brute force:
    These options can be used to run brute force checks

    --common-tables     Check existence of common tables
    --common-columns    Check existence of common columns
    --common-files      Check existence of common files

  User-defined function injection:
    These options can be used to create custom user-defined functions

    --udf-inject        Inject custom user-defined functions
    --shared-lib=SHLIB  Local path of the shared library

  File system access:
    These options can be used to access the back-end database management
    system underlying file system

    --file-read=FILE..  Read a file from the back-end DBMS file system
    --file-write=FIL..  Write a local file on the back-end DBMS file system
    --file-dest=FILE..  Back-end DBMS absolute filepath to write to

  Operating system access:
    These options can be used to access the back-end database management
    system underlying operating system

    --os-cmd=OSCMD      Execute an operating system command
    --os-shell          Prompt for an interactive operating system shell
    --os-pwn            Prompt for an OOB shell, Meterpreter or VNC
    --os-smbrelay       One click prompt for an OOB shell, Meterpreter or VNC
    --os-bof            Stored procedure buffer overflow exploitation
    --priv-esc          Database process user privilege escalation
    --msf-path=MSFPATH  Local path where Metasploit Framework is installed
    --tmp-path=TMPPATH  Remote absolute path of temporary files directory

  Windows registry access:
    These options can be used to access the back-end database management
    system Windows registry

    --reg-read          Read a Windows registry key value
    --reg-add           Write a Windows registry key value data
    --reg-del           Delete a Windows registry key value
    --reg-key=REGKEY    Windows registry key
    --reg-value=REGVAL  Windows registry key value
    --reg-data=REGDATA  Windows registry key value data
    --reg-type=REGTYPE  Windows registry key value type

  General:
    These options can be used to set some general working parameters

    -s SESSIONFILE      Load session from a stored (.sqlite) file
    -t TRAFFICFILE      Log all HTTP traffic into a textual file
    --abort-on-empty    Abort data retrieval on empty results
    --answers=ANSWERS   Set predefined answers (e.g. "quit=N,follow=N")
    --base64=BASE64P..  Parameter(s) containing Base64 encoded data
    --base64-safe       Use URL and filename safe Base64 alphabet (RFC 4648)
    --batch             Never ask for user input, use the default behavior
    --binary-fields=..  Result fields having binary values (e.g. "digest")
    --check-internet    Check Internet connection before assessing the target
    --cleanup           Clean up the DBMS from sqlmap specific UDF and tables
    --crawl=CRAWLDEPTH  Crawl the website starting from the target URL
    --crawl-exclude=..  Regexp to exclude pages from crawling (e.g. "logout")
    --csv-del=CSVDEL    Delimiting character used in CSV output (default ",")
    --charset=CHARSET   Blind SQL injection charset (e.g. "0123456789abcdef")
    --dump-file=DUMP..  Store dumped data to a custom file
    --dump-format=DU..  Format of dumped data (CSV (default), HTML or SQLITE)
    --encoding=ENCOD..  Character encoding used for data retrieval (e.g. GBK)
    --eta               Display for each output the estimated time of arrival
    --flush-session     Flush session files for current target
    --forms             Parse and test forms on target URL
    --fresh-queries     Ignore query results stored in session file
    --gpage=GOOGLEPAGE  Use Google dork results from specified page number
    --har=HARFILE       Log all HTTP traffic into a HAR file
    --hex               Use hex conversion during data retrieval
    --output-dir=OUT..  Custom output directory path
    --parse-errors      Parse and display DBMS error messages from responses
    --preprocess=PRE..  Use given script(s) for preprocessing (request)
    --postprocess=PO..  Use given script(s) for postprocessing (response)
    --repair            Redump entries having unknown character marker (?)
    --save=SAVECONFIG   Save options to a configuration INI file
    --scope=SCOPE       Regexp for filtering targets
    --skip-heuristics   Skip heuristic detection of vulnerabilities
    --skip-waf          Skip heuristic detection of WAF/IPS protection
    --table-prefix=T..  Prefix used for temporary tables (default: "sqlmap")
    --test-filter=TE..  Select tests by payloads and/or titles (e.g. ROW)
    --test-skip=TEST..  Skip tests by payloads and/or titles (e.g. BENCHMARK)
    --time-limit=TIM..  Run with a time limit in seconds (e.g. 3600)
    --unsafe-naming     Disable escaping of DBMS identifiers (e.g. "user")
    --web-root=WEBROOT  Web server document root directory (e.g. "/var/www")

  Miscellaneous:
    These options do not fit into any other category

    -z MNEMONICS        Use short mnemonics (e.g. "flu,bat,ban,tec=EU")
    --alert=ALERT       Run host OS command(s) when SQL injection is found
    --beep              Beep on question and/or when vulnerability is found
    --dependencies      Check for missing (optional) sqlmap dependencies
    --disable-coloring  Disable console output coloring
    --list-tampers      Display list of available tamper scripts
    --no-logging        Disable logging to a file
    --offline           Work in offline mode (only use session data)
    --purge             Safely remove all content from sqlmap data directory
    --results-file=R..  Location of CSV results file in multiple targets mode
    --shell             Prompt for an interactive sqlmap shell
    --tmp-dir=TMPDIR    Local directory for storing temporary files
    --unstable          Adjust options for unstable connections
    --update            Update sqlmap
    --wizard            Simple wizard interface for beginner users

中文


       __H__
 ___ ___[(]_____ ___ ___  {1.8.8.1#dev}
|_ -| . [.]     | .'| . |
|___|_  [,]_|_|_|__,|  _|
      |_|V...       |_|   https://sqlmap.org

使用方法:python sqlmap.py [options]

选项:
  -h, --help            显示基本帮助信息并退出
  -hh                   显示高级帮助信息并退出
  --version             显示程序版本号并退出
  -v VERBOSE            详细级别:0-6 (默认 1)

  目标:
    至少需要提供其中一个选项来定义目标

    -u URL, --url=URL   目标 URL (例如 "http://www.site.com/vuln.php?id=1")
    -d DIRECT           直接数据库连接的连接字符串
    -l LOGFILE          从 Burp 或 WebScarab 代理日志文件中解析目标
    -m BULKFILE         扫描文本文件中给出的多个目标
    -r REQUESTFILE      从文件中加载 HTTP 请求
    -g GOOGLEDORK       将 Google 搜索结果作为目标 URL 处理
    -c CONFIGFILE       从配置 INI 文件加载选项

  请求:
    这些选项可用于指定如何连接到目标 URL

    -A AGENT, --user..  HTTP 用户代理头值
    -H HEADER, --hea..  额外头 (例如 "X-Forwarded-For: 127.0.0.1")
    --method=METHOD     强制使用给定的 HTTP 方法 (例如 PUT)
    --data=DATA         要通过 POST 发送的字符串 (例如 "id=1")
    --param-del=PARA..  用于分割参数值的字符 (例如 &)
    --cookie=COOKIE     HTTP Cookie 头值 (例如 "PHPSESSID=a8d127e..")
    --cookie-del=COO..  用于分割 cookie 值的字符 (例如 ;)
    --live-cookies=L..  用于加载最新值的实时 cookie 文件
    --load-cookies=L..  包含 Netscape/wget 格式 cookie 的文件
    --drop-set-cookie   忽略响应中的 Set-Cookie 头
    --mobile            通过 HTTP 用户代理头模拟智能手机
    --random-agent      使用随机选择的 HTTP 用户代理头值
    --host=HOST         HTTP 主机头值
    --referer=REFERER   HTTP 引荐头值
    --headers=HEADERS   额外头 (例如 "Accept-Language: fr\nETag: 123")
    --auth-type=AUTH..  HTTP 身份验证类型 (Basic, Digest, Bearer, ...)
    --auth-cred=AUTH..  HTTP 身份验证凭据 (用户名:密码)
    --auth-file=AUTH..  HTTP 身份验证 PEM 证书/私钥文件
    --abort-code=ABO..  在遇到 (问题) HTTP 错误代码时中止 (例如 401)
    --ignore-code=IG..  忽略 (问题) HTTP 错误代码 (例如 401)
    --ignore-proxy      忽略系统默认代理设置
    --ignore-redirects  忽略重定向尝试
    --ignore-timeouts   忽略连接超时
    --proxy=PROXY       使用代理连接到目标 URL
    --proxy-cred=PRO..  代理身份验证凭据 (用户名:密码)
    --proxy-file=PRO..  从文件中加载代理列表
    --proxy-freq=PRO..  从给定列表中更改代理之间的请求数量
    --tor               使用 Tor 匿名网络
    --tor-port=TORPORT  将 Tor 代理端口设置为默认值以外的值
    --tor-type=TORTYPE  设置 Tor 代理类型 (HTTP, SOCKS4 或 SOCKS5 (默认))
    --check-tor         检查 Tor 是否使用得当
    --delay=DELAY       每个 HTTP 请求之间的延迟(秒)
    --timeout=TIMEOUT   在超时连接之前等待的秒数(默认 30)
    --retries=RETRIES   连接超时时重试次数(默认 3)
    --retry-on=RETRYON  在内容与正则表达式匹配时重试请求 (例如 "drop")
    --randomize=RPARAM  随机更改给定参数(s)的值
    --safe-url=SAFEURL  在测试期间经常访问的 URL 地址
    --safe-post=SAFE..  发送到安全 URL 的 POST 数据
    --safe-req=SAFER..  从文件中加载安全 HTTP 请求
    --safe-freq=SAFE..  访问安全 URL 之间的常规请求数量
    --skip-urlencode    跳过有效载荷数据的 URL 编码
    --csrf-token=CSR..  用于存储反 CSRF 令牌的参数
    --csrf-url=CSRFURL  访问以提取反 CSRF 令牌的 URL 地址
    --csrf-method=CS..  在访问反 CSRF 令牌页面时使用的 HTTP 方法
    --csrf-data=CSRF..  在访问反 CSRF 令牌页面时发送的 POST 数据
    --csrf-retries=C..  获取反 CSRF 令牌的重试次数(默认 0)
    --force-ssl         强制使用 SSL/HTTPS
    --chunked           使用 HTTP 分块传输编码 (POST) 请求
    --hpp               使用 HTTP 参数污染方法
    --eval=EVALCODE     在请求之前评估提供的 Python 代码 (例如
                        "import hashlib;id2=hashlib.md5(id).hexdigest()")
  优化:
    这些选项可用于优化 sqlmap 的性能

    -o                  启用所有优化开关
    --predict-output    预测常见查询输出
    --keep-alive        使用持久的 HTTP(s) 连接
    --null-connection   无需实际 HTTP 响应正文即可检索页面长度
    --threads=THREADS   最大并发 HTTP(s) 请求数(默认 1)

  注入:
    这些选项可用于指定要测试哪些参数、提供自定义注入有效载荷和可选的篡改脚本

    -p TESTPARAMETER    可测试参数(s)
    --skip=SKIP         跳过对给定参数(s)的测试
    --skip-static       跳过测试不显示为动态的参数
    --param-exclude=..  用于从测试中排除参数的 Regexp (例如 "ses")
    --param-filter=P..  通过位置选择可测试参数(s) (例如 "POST")
    --dbms=DBMS         强制后端 DBMS 为提供的值
    --dbms-cred=DBMS..  DBMS 身份验证凭据 (用户:密码)
    --os=OS             强制后端 DBMS 操作系统为提供的值
    --invalid-bignum    使用大数使值无效
    --invalid-logical   使用逻辑运算使值无效
    --invalid-string    使用随机字符串使值无效
    --no-cast           关闭有效载荷类型转换机制
    --no-escape         关闭字符串转义机制
    --prefix=PREFIX     注入有效载荷前缀字符串
    --suffix=SUFFIX     注入有效载荷后缀字符串
    --tamper=TAMPER     使用给定的脚本(s)篡改注入数据

  检测:
    这些选项可用于自定义检测阶段

    --level=LEVEL       要执行的测试级别 (1-5, 默认 1)
    --risk=RISK         要执行的测试风险 (1-3, 默认 1)
    --string=STRING     当查询评估为 True 时匹配的字符串
    --not-string=NOT..  当查询评估为 False 时匹配的字符串
    --regexp=REGEXP     当查询评估为 True 时匹配的正则表达式
    --code=CODE         当查询评估为 True 时匹配的 HTTP 代码
    --smart             仅在存在积极的启发式(s)时执行彻底测试
    --text-only         仅基于文本内容比较页面
    --titles            仅基于其标题比较页面

  技术:
    这些选项可用于调整特定 SQL 注入技术的测试

    --technique=TECH..  要使用的 SQL 注入技术 (默认 "BEUSTQ")
    --time-sec=TIMESEC  延迟 DBMS 响应的秒数 (默认 5)
    --union-cols=UCOLS  要测试 UNION 查询 SQL 注入的列范围
    --union-char=UCHAR  用于暴力破解列数的字符
    --union-from=UFROM  要在 UNION 查询 SQL 注入的 FROM 部分中使用的表
    --union-values=U..  要用于 UNION 查询 SQL 注入的列值
    --dns-domain=DNS..  用于 DNS 泄露攻击的域名
    --second-url=SEC..  搜索二级响应的结果页面 URL
    --second-req=SEC..  从文件中加载二级 HTTP 请求

  指纹:
    -f, --fingerprint   执行广泛的 DBMS 版本指纹识别

  枚举:
    这些选项可用于枚举后端数据库管理系统信息、结构和包含在表中的数据

    -a, --all           检索所有内容
    -b, --banner        检索 DBMS 标语
    --current-user      检索 DBMS 当前用户
    --current-db        检索 DBMS 当前数据库
    --hostname          检索 DBMS 服务器主机名
    --is-dba            检测 DBMS 当前用户是否为 DBA
    --users             枚举 DBMS 用户
    --passwords         枚举 DBMS 用户密码哈希
    --privileges        枚举 DBMS 用户权限
    --roles             枚举 DBMS 用户角色
    --dbs               枚举 DBMS 数据库
    --tables            枚举 DBMS 数据库表
    --columns           枚举 DBMS 数据库表列
    --schema            枚举 DBMS 架构
    --count             检索表(s)的条目数
    --dump              转储 DBMS 数据库表条目
    --dump-all          转储所有 DBMS 数据库表条目
    --search            搜索列(s)、表(s)和/或数据库名称
    --comments          在枚举期间检查 DBMS 注释
    --statements        检索在 DBMS 上运行的 SQL 语句
    -D DB               要枚举的 DBMS 数据库
    -T TBL              要枚举的 DBMS 数据库表(s)
    -C COL              要枚举的 DBMS 数据库表列(s)
    -X EXCLUDE          要排除的 DBMS 数据库标识符(s)
    -U USER             要枚举的 DBMS 用户
    --exclude-sysdbs    枚举表时排除 DBMS 系统数据库
    --pivot-column=P..  基点列名称
    --where=DUMPWHERE   表转储时使用 WHERE 条件
    --start=LIMITSTART  要检索的第一个转储表条目
    --stop=LIMITSTOP    要检索的最后一个转储表条目
    --first=FIRSTCHAR   要检索的第一个查询输出单词字符
    --last=LASTCHAR     要检索的最后一个查询输出单词字符
    --sql-query=SQLQ..  要执行的 SQL 语句
    --sql-shell         提示交互式 SQL shell
    --sql-file=SQLFILE  从给定的文件(s)执行 SQL 语句

  暴力破解:
    这些选项可用于运行暴力破解检查

    --common-tables     检查常见表的存在
    --common-columns    检查常见列的存在
    --common-files      检查常见文件的存在

  用户定义函数注入:
    这些选项可用于创建自定义用户定义函数

    --udf-inject        注入自定义用户定义函数
    --shared-lib=SHLIB  共享库的本地路径

  文件系统访问:
    这些选项可用于访问后端数据库管理系统底层文件系统

    --file-read=FILE..  从后端 DBMS 文件系统读取文件
    --file-write=FIL..  将本地文件写入后端 DBMS 文件系统
    --file-dest=FILE..  要写入的后端 DBMS 绝对文件路径

  操作系统访问:
    这些选项可用于访问后端数据库管理系统底层操作系统

    --os-cmd=OSCMD      执行操作系统命令
    --os-shell          提示交互式操作系统 shell
    --os-pwn            提示 OOB shell、Meterpreter 或 VNC
    --os-smbrelay       一键提示 OOB shell、Meterpreter 或 VNC
    --os-bof            存储过程缓冲区溢出利用
    --priv-esc          数据库进程用户权限提升
    --msf-path=MSFPATH  Metasploit Framework 安装的本地路径
    --tmp-path=TMPPATH  临时文件目录的远程绝对路径

  Windows 注册表访问:
    这些选项可用于访问后端数据库管理系统 Windows 注册表

    --reg-read          读取 Windows 注册表键值
    --reg-add           写入 Windows 注册表键值数据
    --reg-del           删除 Windows 注册表键值
    --reg-key=REGKEY    Windows 注册表键
    --reg-value=REGVAL  Windows 注册表键值
    --reg-data=REGDATA  Windows 注册表键值数据
    --reg-type=REGTYPE  Windows 注册表键值类型

  通用:
    这些选项可用于设置一些通用工作参数

    -s SESSIONFILE      从存储的 (.sqlite) 文件加载会话
    -t TRAFFICFILE      将所有 HTTP 流量记录到文本文件中
    --abort-on-empty    在空结果上中止数据检索
    --answers=ANSWERS   设置预定义的答案 (例如 "quit=N,follow=N")
    --base64=BASE64P..  包含 Base64 编码数据的参数(s)
    --base64-safe       使用 URL 和文件名安全的 Base64 字母 (RFC 4648)
    --batch             永远不要询问用户输入,使用默认行为
    --binary-fields=..  具有二进制值的输出字段 (例如 "digest")
    --check-internet    在评估目标之前检查互联网连接
    --cleanup           清理 DBMS 中的 sqlmap 特定 UDF 和表
    --crawl=CRAWLDEPTH  从目标 URL 开始抓取网站
    --crawl-exclude=..  用于从抓取中排除页面的 Regexp (例如 "logout")
    --csv-del=CSVDEL    CSV 输出中使用的定界符 (默认 ",")
    --charset=CHARSET   盲 SQL 注入字符集 (例如 "0123456789abcdef")
    --dump-file=DUMP..  将转储的数据存储到自定义文件中
    --dump-format=DU..  转储数据的格式 (CSV (默认), HTML 或 SQLITE)
    --encoding=ENCOD..  用于数据检索的字符编码 (例如 GBK)
    --eta               为每个输出显示估计到达时间
    --flush-session     为当前目标刷新会话文件
    --forms             解析并测试目标 URL 上的表单
    --fresh-queries     忽略会话文件中存储的查询结果
    --gpage=GOOGLEPAGE  使用指定页面号的 Google 搜索结果
    --har=HARFILE       将所有 HTTP 流量记录到 HAR 文件中
    --hex               在数据检索期间使用十六进制转换
    --output-dir=OUT..  自定义输出目录路径
    --parse-errors      解析并显示响应中的 DBMS 错误消息
    --preprocess=PRE..  使用给定的脚本(s)预处理 (请求)
    --postprocess=PO..  使用给定的脚本(s)后处理 (响应)
    --repair            重新转储具有未知字符标记 (?) 的条目
    --save=SAVECONFIG   将选项保存到配置 INI 文件
    --scope=SCOPE       用于过滤目标的 Regexp
    --skip-heuristics   跳过漏洞的启发式检测
    --skip-waf          跳过 WAF/IPS 保护的启发式检测
    --table-prefix=T..  用于临时表的前缀 (默认: "sqlmap")
    --test-filter=TE..  通过有效载荷和/或标题选择测试 (例如 ROW)
    --test-skip=TEST..  通过有效载荷和/或标题跳过测试 (例如 BENCHMARK)
    --time-limit=TIM..  使用时间限制运行 (例如 3600)
    --unsafe-naming     禁用 DBMS 标识符的转义 (例如 "user")
    --web-root=WEBROOT  Web 服务器文档根目录 (例如 "/var/www")

  杂项:
    这些选项不属于任何其他类别

    -z MNEMONICS        使用简短的助记符 (例如 "flu,bat,ban,tec=EU")
    --alert=ALERT       发现 SQL 注入时运行主机操作系统命令
    --beep              在提问和/或发现漏洞时发出蜂鸣声
    --dependencies      检查缺失的 (可选) sqlmap 依赖项
    --disable-coloring  禁用控制台输出着色
    --list-tampers      显示可用的篡改脚本列表
    --no-logging        禁用记录到文件
    --offline           在离线模式下工作 (仅使用会话数据)
    --purge             安全地从 sqlmap 数据目录中删除所有内容
    --results-file=R..  多个目标模式中 CSV 结果文件的位置
    --shell             提示交互式 sqlmap shell
    --tmp-dir=TMPDIR    存储临时文件的本地目录
    --unstable          调整选项以适应不稳定的连接
    --update            更新 sqlmap
    --wizard            为初学者用户提供简单的向导界面

为了提高 sqlmap 渗透测试的成功率和降低被检测到的风险,以下是一些推荐的默认参数组合:

通用选项

  • -o: 启用所有优化开关,提高效率并减少被检测到的风险。
  • --threads=THREADS: 增加并发 HTTP 请求的数量,提高扫描效率,但需要根据目标服务器负载和带宽进行适当调整。
  • --keep-alive: 使用持久的 HTTP(s) 连接,减少连接开销,提高效率。
  • --param-filter=P..: 通过位置选择测试参数,例如只测试 POST 参数,缩小测试范围,提高效率。
  • --dbms=DBMS: 指定后端数据库管理系统,针对特定数据库类型进行更精确的攻击,提高成功率。
  • --technique=TECH..: 指定要使用的 SQL 注入技术,例如只使用时间盲注,避免某些类型的检测。
  • --time-sec=TIMESEC: 设置延迟 DBMS 响应的秒数,避免目标服务器检测到异常的请求频率。
  • --user-agent=AGENT: 设置 HTTP 用户代理头,模拟浏览器或其他应用程序的请求,减少被检测到的风险。
  • --mobile: 通过 HTTP 用户代理头模拟智能手机,绕过一些针对电脑浏览器的安全限制。
  • --proxy=PROXY: 使用代理连接到目标 URL,隐藏真实 IP 地址,减少被检测到的风险。
  • --tor: 使用 Tor 匿名网络,隐藏真实 IP 地址,减少被检测到的风险。
  • --delay=DELAY: 设置每个 HTTP 请求之间的延迟,模拟正常用户的请求行为,减少被检测到的风险。
  • --safe-url=SAFEURL: 在测试期间经常访问一个安全的 URL 地址,模拟正常用户的访问行为,减少被检测到的风险。
  • --safe-post=SAFE..: 发送 POST 数据到一个安全的 URL 地址,模拟正常用户的访问行为,减少被检测到的风险。
  • --safe-req=SAFER..: 从文件中加载安全的 HTTP 请求,模拟正常用户的访问行为,减少被检测到的风险。
  • --safe-freq=SAFE..: 访问安全 URL 地址和发送 POST 数据的频率,模拟正常用户的访问行为,减少被检测到的风险。
  • --skip-waf: 跳过 WAF/IPS 保护的启发式检测,避免被 WAF/IPS 检测到并阻止。
  • --table-prefix: 修改 sqlmap 创建的临时表的名称前缀,例如 "custom_",避免使用默认的 "sqlmap" 前缀,减少被检测到的风险。

其他建议

  • 使用多个代理服务器进行测试,避免单个代理服务器被检测到。
  • 使用随机用户代理头,模拟不同的用户访问行为。
  • 设置合适的超时时间,避免因超时导致的目标服务器日志记录。
  • 仔细阅读目标网站的 robots.txt 文件,避免访问被禁止的页面。
  • 了解目标网站的 WAF/IPS 规则,避免触发规则导致被检测到。
  • 使用 sqlmap 的 -z 选项,可以更方便地使用简短的助记符来设置选项,例如 flu,bat,ban,tec=EU 表示启用所有优化开关、使用浏览器用户代理、使用 Tor、设置延迟 5 秒、使用用户代理。

请注意: 以上参数组合仅供参考,实际操作时需要根据具体情况进行分析和调整。



扫描二维码,在手机上阅读

推荐阅读:

通过搜索引擎和空间测绘工具来查看各地开放摄像头

sqlmap 最新版系统自带 tamper 解释中文翻译

评 论
更换验证码