第五课:工具介绍-Sqlmap
由于Sqlmap 是常用工具之一,所以本篇的篇幅较长,详解一次所有参数。

1、Options(选项)

1
Usage: python sqlmap.py [options]
2
3
Options(选项):
4
5
-h, --help Show basic help message and exit
6
## 展示帮助文档 参数
7
8
-hh Show advanced help message and exit
9
## 展示详细帮助文档参数
10
11
--version Show program's version number and exit
12
## 显示程序的版本号
13
14
-v VERBOSE Verbosity level: 0-6 (default 1)
15
## 详细级别:0-6(默认为1)
Copied!

2、Target(目标)

1
Target(目标):
2
3
At least one of these options has to be provided to define the target(s)
4
5
-d DIRECT Connection string for direct database connection
6
## 指定具体数据库
7
8
-u URL, --url=URL Target URL (e.g. "http://www.site.com/vuln.php?id=1")
9
## 目标URL
10
11
-l LOGFILE Parse target(s) from Burp or WebScarab proxy log file
12
## 解析目标(s)从Burp或WebScarab代理日志文件
13
14
-x SITEMAPURL Parse target(s) from remote sitemap(.xml) file
15
## 解析目标(s)从远程站点地图文件(.xml)
16
17
-m BULKFILE Scan multiple targets given in a textual file
18
## 扫描文本文件中给出的多个目标
19
20
-r REQUESTFILE Load HTTP request from a file
21
## 从本地文件加载HTTP请求 ,多用于post注入。
22
23
-g GOOGLEDORK Process Google dork results as target URLs
24
## 处理Google的结果作为目标URL。
25
26
-c CONFIGFILE Load options from a configuration INI file
27
## 从INI配置文件中加载选项。
Copied!

3、Request(请求)

1
Request(请求):
2
3
These options can be used to specify how to connect to the target URL
4
## 这些选项可以用来指定如何连接到目标URL。
5
6
--method=METHOD Force usage of given HTTP method (e.g. PUT)
7
## 强制使用给定的HTTP方法(e.g. PUT)
8
9
--data=DATA Data string to be sent through POST
10
## 通过POST发送的数据字符串
11
12
--param-del=PARA.. Character used for splitting parameter values
13
## 用于拆分参数值的字符
14
15
--cookie=COOKIE HTTP Cookie header value HTTP
16
## Cookie头的值
17
18
--cookie-del=COO.. Character used for splitting cookie values
19
## 用于分割Cookie值的字符
20
21
--load-cookies=L.. File containing cookies in Netscape/wget format
22
## 包含Netscape / wget格式的cookie的文件
23
24
--drop-set-cookie Ignore Set-Cookie header from response
25
## 从响应中忽略Set-Cookie头
26
27
--user-agent=AGENT HTTP User-Agent header value
28
## 指定 HTTP User - Agent头
29
30
--random-agent Use randomly selected HTTP User-Agent header value
31
## 使用随机选定的HTTP User - Agent头
32
33
--host=HOST HTTP Host header value
34
## HTTP主机头值
35
36
--referer=REFERER HTTP Referer header value
37
## 指定 HTTP Referer头
38
39
-H HEADER, --hea.. Extra header (e.g. "X-Forwarded-For: 127.0.0.1")
40
## 额外header
41
42
--headers=HEADERS Extra headers (e.g. "Accept-Language: fr\\nETag: 123")
43
## 额外header
44
45
--auth-type=AUTH.. HTTP authentication type (Basic, Digest, NTLM or PKI)HTTP
46
## 认证类型(Basic, Digest, NTLM or PKI)
47
48
--auth-cred=AUTH.. HTTP authentication credentials (name:password)
49
## HTTP认证凭证(name:password)
50
51
--auth-file=AUTH.. HTTP authentication PEM cert/private key file
52
## HTTP认证 PEM认证/私钥文件
53
54
--ignore-401 Ignore HTTP Error 401 (Unauthorized)
55
## 忽略HTTP错误401
56
57
--proxy=PROXY Use a proxy to connect to the target URL
58
## 使用代理连接到目标网址
59
60
--proxy-cred=PRO.. Proxy authentication credentials (name:password)
61
## 代理认证证书(name:password)
62
63
--proxy-file=PRO.. Load proxy list from a file
64
## 从文件中加载代理列表
65
66
--ignore-proxy Ignore system default proxy settings
67
## 忽略系统默认代理设置
68
69
--tor Use Tor anonymity network
70
## 使用Tor匿名网络
71
72
--tor-port=TORPORT Set Tor proxy port other than default
73
## 设置Tor代理端口而不是默认值
74
75
--tor-type=TORTYPE Set Tor proxy type (HTTP (default), SOCKS4 or SOCKS5)
76
## 设置Tor代理类型
77
78
--check-tor Check to see if Tor is used properly
79
## 检查Tor是否正确使用
80
81
--delay=DELAY Delay in seconds between each HTTP request
82
## 每个HTTP请求之间的延迟(秒)
83
84
--timeout=TIMEOUT Seconds to wait before timeout connection (default 30)
85
## 秒超时连接前等待(默认30)
86
87
--retries=RETRIES Retries when the connection timeouts (default 3)
88
## 连接超时时重试(默认值3)
89
90
--randomize=RPARAM Randomly change value for given parameter(s)
91
## 随机更改给定参数的值(s)
92
93
--safe-url=SAFEURL URL address to visit frequently during testing
94
## 在测试期间频繁访问的URL地址
95
96
--safe-post=SAFE.. POST data to send to a safe URL
97
## POST数据发送到安全URL
98
99
--safe-req=SAFER.. Load safe HTTP request from a file
100
## 从文件加载安全HTTP请求
101
102
--safe-freq=SAFE.. Test requests between two visits to a given safe URL
103
## 在两次访问给定安全网址之间测试请求
104
105
--skip-urlencode Skip URL encoding of payload data
106
## 跳过有效载荷数据的URL编码
107
108
--csrf-token=CSR.. Parameter used to hold anti-CSRF token
109
## 参数用于保存anti-CSRF令牌
110
111
--csrf-url=CSRFURL URL address to visit to extract anti-CSRF token
112
## 提取anti-CSRF URL地址访问令牌
113
114
--force-ssl Force usage of SSL/HTTPS
115
## 强制使用SSL /HTTPS
116
117
--hpp Use HTTP parameter pollution method
118
## 使用HTTP参数pollution的方法
119
120
--eval=EVALCODE Evaluate provided Python code before the request (e.g. 评估请求之前提供Python代码"import hashlib;id2=hashlib.md5(id).hexdigest()")
Copied!

4、Optimization(优化)

1
Optimization(优化):
2
3
These options can be used to optimize the performance of sqlmap
4
## 这些选项可用于优化sqlmap的性能
5
6
-o Turn on all optimization switches
7
## 开启所有优化开关
8
9
--predict-output Predict common queries output
10
## 预测常见的查询输出
11
12
--keep-alive Use persistent HTTP(s) connections
13
## 使用持久的HTTP(S)连接
14
15
--null-connection Retrieve page length without actual HTTP response body
16
## 从没有实际的HTTP响应体中检索页面长度
17
18
--threads=THREADS Max number of concurrent HTTP(s) requests (default 1)
19
## 最大的HTTP(S)请求并发量(默认为1)
Copied!

5、Injection(注入)

1
Injection(注入):
2
3
These options can be used to specify which parameters to test for, provide custom injection payloads and optional tampering scripts
4
## 这些选项可以用来指定测试哪些参数, 提供自定义的注入payloads和可选篡改脚本。
5
6
-p TESTPARAMETER Testable parameter(s)
7
## 可测试的参数(S)
8
9
--skip=SKIP Skip testing for given parameter(s)
10
## 跳过对给定参数的测试
11
12
--skip-static Skip testing parameters that not appear to be dynamic
13
## 跳过测试不显示为动态的参数
14
15
--param-exclude=.. Regexp to exclude parameters from testing (e.g. "ses")
16
## 使用正则表达式排除参数进行测试(e.g. "ses")
17
18
--dbms=DBMS Force back-end DBMS to this value
19
## 强制后端的DBMS为此值
20
21
--dbms-cred=DBMS.. DBMS authentication credentials (user:password)
22
## DBMS认证凭证(user:password)
23
24
--os=OS Force back-end DBMS operating system to this value
25
## 强制后端的DBMS操作系统为这个值
26
27
--invalid-bignum Use big numbers for invalidating values
28
## 使用大数字使值无效
29
30
--invalid-logical Use logical operations for invalidating values
31
## 使用逻辑操作使值无效
32
33
--invalid-string Use random strings for invalidating values
34
## 使用随机字符串使值无效
35
36
--no-cast Turn off payload casting mechanism
37
## 关闭有效载荷铸造机制
38
39
--no-escape Turn off string escaping mechanism
40
## 关闭字符串转义机制
41
42
--prefix=PREFIX Injection payload prefix string
43
## 注入payload字符串前缀
44
45
--suffix=SUFFIX Injection payload suffix string
46
## 注入payload字符串后缀
47
48
--tamper=TAMPER Use given script(s) for tampering injection data
49
## 使用给定的脚本(S)篡改注入数据
Copied!

6、Detection(检测)

1
Detection(检测):
2
These options can be used to customize the detection phase
3
## 这些选项可以用来指定在SQL盲注时如何解析和比较HTTP响应页面的内容。
4
5
--level=LEVEL Level of tests to perform (1-5, default 1)
6
## 执行测试的等级(1-5,默认为1)
7
8
--risk=RISK Risk of tests to perform (1-3, default 1)
9
## 执行测试的风险(0-3,默认为1)
10
11
--string=STRING String to match when query is evaluated to True
12
## 查询时有效时在页面匹配字符串
13
14
--not-string=NOT.. String to match when query is evaluated to False
15
## 当查询求值为无效时匹配的字符串
16
17
--regexp=REGEXP Regexp to match when query is evaluated to True
18
## 查询时有效时在页面匹配正则表达式
19
20
--code=CODE HTTP code to match when query is evaluated to True
21
## 当查询求值为True时匹配的HTTP代码
22
23
--text-only Compare pages based only on the textual content
24
## 仅基于在文本内容比较网页
25
26
--titles Compare pages based only on their titles
27
## 仅根据他们的标题进行比较
Copied!

7、Techniques(技巧)

1
Techniques(技巧):
2
These options can be used to tweak testing of specific SQL injection techniques
3
## 这些选项可用于调整具体的SQL注入测试。
4
5
--technique=TECH SQL injection techniques to use (default "BEUSTQ")
6
## SQL 注入技术测试(默认BEUST)
7
8
--time-sec=TIMESEC Seconds to delay the DBMS response (default 5)
9
## DBMS响应的延迟时间(默认为5秒)
10
11
--union-cols=UCOLS Range of columns to test for UNION query SQL injection
12
## 定列范围用于测试UNION查询注入
13
14
--union-char=UCHAR Character to use for bruteforcing number of columns
15
## 用于暴力猜解列数的字符
16
17
--union-from=UFROM Table to use in FROM part of UNION query SQL injection
18
## 要在UNION查询SQL注入的FROM部分使用的表
19
20
--dns-domain=DNS.. Domain name used for DNS exfiltration attack
21
## 域名用于DNS漏出攻击
22
23
--second-order=S.. Resulting page URL searched for second-order response
24
## 生成页面的URL搜索为second-order响应
Copied!

8、Fingerprint(指纹)

1
Fingerprint(指纹):
2
3
-f, --fingerprint Perform an extensive DBMS version fingerprint
4
## 执行检查广泛的DBMS版本指纹
Copied!

9、Enumeration(枚举)

1
Enumeration(枚举):
2
3
These options can be used to enumerate the back-end database management system information, structure and data contained in the tables. Moreover you can run your own SQL statements
4
## 这些选项可以用来列举后端数据库管理系统的信息、表中的结构和数据。此外,您还可以运行您自己的SQL语句。
5
6
-a, --all Retrieve everything
7
## 检索一切
8
9
-b, --banner Retrieve DBMS banner
10
## 检索数据库管理系统的标识
11
12
--current-user Retrieve DBMS current user
13
## 检索数据库管理系统的 标识
14
15
--current-db Retrieve DBMS current database
16
## 检索数据库管理系统当前数据库
17
18
-hostname Retrieve DBMS server hostname
19
## 检索数据库服务器的主机名
20
21
--is-dba Detect if the DBMS current user is DBA
22
## 检测DBMS当前用户是否DBA
23
24
--users Enumerate DBMS users
25
## 枚举数据库管理系统用户
26
27
--passwords Enumerate DBMS users password hashes
28
## 枚举数据库管理系统用户密码哈希
29
30
--privileges Enumerate DBMS users privileges
31
## 枚举数据库管理系统用户的权限
32
33
--roles Enumerate DBMS users roles
34
## 枚举数据库管理系统用户的角色
35
36
--dbs Enumerate DBMS databases
37
## 枚举数据库管理系统数据库
38
39
--tables Enumerate DBMS database tables
40
## 枚举的DBMS数据库中的表
41
42
--columns Enumerate DBMS database table columns
43
## 枚举DBMS数据库表列
44
45
--schema Enumerate DBMS schema
46
## 枚举数据库架构
47
48
--count Retrieve number of entries for table(s)
49
## 检索表的条目数
50
51
--dump Dump DBMS database table entries
52
## 转储数据库管理系统的数据库中的表项
53
54
--dump-all Dump all DBMS databases tables entries
55
## 转储数据库管理系统的数据库中的表项
56
57
--search Search column(s), table(s) and/or database name(s)
58
## 搜索列(S),表(S)和/或数据库名称(S)
59
60
--comments Retrieve DBMS comments
61
## 检索数据库的comments(注释、评论)
62
63
-D DB DBMS database to enumerate
64
## 要进行枚举的数据库名
65
66
-T TBL DBMS database table(s) to enumerate
67
## 要进行枚举的数据库表
68
69
-C COL DBMS database table column(s) to enumerate
70
## 要进行枚举的数据库列
71
72
-X EXCLUDECOL DBMS database table column(s) to not enumerate
73
## 要不进行枚举的数据库列
74
75
-U USER DBMS user to enumerate
76
## 用来进行枚举的数据库用户
77
78
--exclude-sysdbs Exclude DBMS system databases when enumerating tables
79
## 枚举表时排除系统数据库
80
81
--pivot-column=P.. Pivot column name
82
## 主列名称
83
84
--where=DUMPWHERE Use WHERE condition while table dumping
85
## 使用WHERE条件进行表转储
86
87
--start=LIMITSTART First query output entry to retrieve
88
## 第一个查询输出进入检索
89
90
--stop=LIMITSTOP Last query output entry to retrieve
91
## 最后查询的输出进入检索
92
93
--first=FIRSTCHAR First query output word character to retrieve
94
## 第一个查询输出字的字符检索
95
96
--last=LASTCHAR Last query output word character to retrieve
97
## 最后查询的输出字字符检索
98
99
--sql-query=QUERY SQL statement to be executed
100
## 要执行的SQL语句
101
102
--sql-shell Prompt for an interactive SQL shell
103
## 提示交互式SQL的shell
104
105
--sql-file=SQLFILE Execute SQL statements from given file(s)
106
## 从给定文件执行SQL语句
Copied!

10、Brute Force(蛮力)

1
Brute force(蛮力):
2
3
These options can be used to run brute force checks
4
## 这些选项可以被用来运行蛮力检查。
5
6
--common-tables Check existence of common tables
7
## 检查存在共同表
8
9
--common-columns Check existence of common columns
10
## 检查存在共同列
Copied!

11、User-defined function injection(用户自定义函数注入)

1
User-defined function injection(用户自定义函数注入):
2
3
These options can be used to create custom user-defined functions
4
## 这些选项可以用来创建用户自定义函数。
5
6
--udf-inject Inject custom user-defined functions
7
## 注入用户自定义函数
8
9
--shared-lib=SHLIB Local path of the shared library
10
## 共享库的本地路径
Copied!

12、File system access(访问文件系统)

1
File system access(访问文件系统):
2
These options can be used to access the back-end database management system underlying file system
3
## 这些选项可以被用来访问后端数据库管理系统的底层文件系统。
4
5
--file-read=RFILE Read a file from the back-end DBMS file system
6
## 从后端的数据库管理系统文件系统读取文件
7
8
--file-write=WFILE Write a local file on the back-end DBMS file system
9
## 编辑后端的数据库管理系统文件系统上的本地文件
10
11
--file-dest=DFILE Back-end DBMS absolute filepath to write to
12
## 后端的数据库管理系统写入文件的绝对路径
Copied!

13、Operating system access(操作系统访问)

1
Operating system access(操作系统访问):
2
3
These options can be used to access the back-end database management system underlying operating system
4
## 这些选项可以用于访问后端数据库管理系统的底层操作系统。
5
6
--os-cmd=OSCMD Execute an operating system command
7
## 执行操作系统命令
8
9
--os-shell Prompt for an interactive operating system shell
10
## 交互式的操作系统的shell
11
12
--os-pwn Prompt for an OOB shell, Meterpreter or VNC
13
## 获取一个OOB shell,meterpreter或VNC
14
15
--os-smbrelay One click prompt for an OOB shell, Meterpreter or VNC
16
## 一键获取一个OOB shell,meterpreter或VNC
17
18
--os-bof Stored procedure buffer overflow exploitation
19
## 存储过程缓冲区溢出利用
20
21
--priv-esc Database process user privilege escalation
22
## 数据库进程用户权限提升
23
24
--msf-path=MSFPATH Local path where Metasploit Framework is installed Metasploit Framework
25
## 本地的安装路径
26
27
--tmp-path=TMPPATH Remote absolute path of temporary files directory
28
## 远程临时文件目录的绝对路径
Copied!

14、Windows registry access(Windows注册表访问)

1
Windows registry access(Windows注册表访问):
2
3
These options can be used to access the back-end database management system Windows registry
4
## 这些选项可以被用来访问后端数据库管理系统Windows注册表。
5
6
--reg-read Read a Windows registry key value
7
## 读一个Windows注册表项值
8
9
--reg-add Write a Windows registry key value data
10
## 写一个Windows注册表项值数据
11
12
--reg-del Delete a Windows registry key value
13
## 删除Windows注册表键值
14
15
--reg-key=REGKEY Windows registry key
16
## Windows注册表键
17
18
--reg-value=REGVAL Windows registry key value
19
## Windows注册表项值
20
21
--reg-data=REGDATA Windows registry key value data
22
## Windows注册表键值数据
23
24
--reg-type=REGTYPE Windows registry key value type
25
## Windows注册表项值类型
Copied!

15、General(一般)

1
General(一般):
2
3
These options can be used to set some general working parameters
4
## 这些选项可以用来设置一些一般的工作参数。
5
6
-s SESSIONFILE Load session from a stored (.sqlite) file
7
## 保存和恢复检索会话文件的所有数据
8
9
-t TRAFFICFILE Log all HTTP traffic into a textual file
10
## 记录所有HTTP流量到一个文本文件中
11
12
--batch Never ask for user input, use the default behaviour
13
## 从不询问用户输入,使用所有默认配置。
14
15
--binary-fields=.. Result fields having binary values (e.g. "digest")
16
## 具有二进制值的结果字段
17
18
--charset=CHARSET Force character encoding used for data retrieval
19
## 强制用于数据检索的字符编码
20
21
--crawl=CRAWLDEPTH Crawl the website starting from the target URL
22
## 从目标网址开始抓取网站
23
24
--crawl-exclude=.. Regexp to exclude pages from crawling (e.g. "logout")
25
## 正则表达式排除网页抓取
26
27
--csv-del=CSVDEL Delimiting character used in CSV output (default ",")
28
## 分隔CSV输出中使用的字符
29
30
--dump-format=DU.. Format of dumped data (CSV (default), HTML or SQLITE)
31
## 转储数据的格式
32
33
--eta Display for each output the estimated time of arrival
34
## 显示每个输出的预计到达时间
35
36
--flush-session Flush session files for current target
37
## 刷新当前目标的会话文件
38
39
--forms Parse and test forms on target URL
40
## 在目标网址上解析和测试表单
41
42
--fresh-queries Ignore query results stored in session file
43
## 忽略在会话文件中存储的查询结果
44
45
--hex Use DBMS hex function(s) for data retrieval
46
## 使用DBMS hex函数进行数据检索
47
48
--output-dir=OUT.. Custom output directory path
49
## 自定义输出目录路径
50
51
--parse-errors Parse and display DBMS error messages from responses
52
## 解析和显示响应中的DBMS错误消息
53
54
--save=SAVECONFIG Save options to a configuration INI file
55
## 保存选项到INI配置文件
56
57
--scope=SCOPE Regexp to filter targets from provided proxy log
58
## 使用正则表达式从提供的代理日志中过滤目标
59
60
--test-filter=TE.. Select tests by payloads and/or titles (e.g. ROW)
61
## 根据有效负载和/或标题(e.g. ROW)选择测试
62
63
--test-skip=TEST.. Skip tests by payloads and/or titles (e.g. BENCHMARK)
64
## 根据有效负载和/或标题跳过测试(e.g. BENCHMARK)
65
66
--update Update sqlmap
67
## 更新SqlMap
Copied!

16、Miscellaneous(杂项)

1
Miscellaneous(杂项):
2
3
-z MNEMONICS Use short mnemonics (e.g. "flu,bat,ban,tec=EU")
4
## 使用简短的助记符
5
6
--alert=ALERT Run host OS command(s) when SQL injection is found
7
## 在找到SQL注入时运行主机操作系统命令
8
9
--answers=ANSWERS Set question answers (e.g. "quit=N,follow=N")
10
## 设置问题答案
11
12
--beep Beep on question and/or when SQL injection is found
13
## 发现SQL 注入时提醒
14
15
--cleanup Clean up the DBMS from sqlmap specific UDF and tables SqlMap
16
## 具体的UDF和表清理DBMS
17
18
--dependencies Check for missing (non-core) sqlmap dependencies
19
## 检查是否缺少(非内核)sqlmap依赖关系
20
21
--disable-coloring Disable console output coloring
22
## 禁用控制台输出颜色
23
24
--gpage=GOOGLEPAGE Use Google dork results from specified page number
25
## 使用Google dork结果指定页码
26
27
--identify-waf Make a thorough testing for a WAF/IPS/IDS protection
28
## 对WAF / IPS / IDS保护进行全面测试
29
30
--skip-waf Skip heuristic detection of WAF/IPS/IDS protection
31
## 跳过启发式检测WAF / IPS / IDS保护
32
33
--mobile Imitate smartphone through HTTP User-Agent header
34
## 通过HTTP User-Agent标头模仿智能手机
35
36
--offline Work in offline mode (only use session data)
37
## 在离线模式下工作(仅使用会话数据)
38
39
--page-rank Display page rank (PR) for Google dork results
40
## Google dork结果显示网页排名(PR)
41
42
--purge-output Safely remove all content from output directory
43
## 安全地从输出目录中删除所有内容
44
45
--smart Conduct thorough tests only if positive heuristic(s)
46
## 只有在正启发式时才进行彻底测试
47
48
--sqlmap-shell Prompt for an interactive sqlmap shell
49
## 提示交互式 sqlmap shell
50
51
--wizard Simple wizard interface for beginner users
52
## 给初级用户的简单向导界面
Copied!
--By Micropoor
Last modified 2yr ago