| 
14 | 14 |  目标:  | 
15 | 15 |  至少提供一个以下选项以指定目标  | 
16 | 16 |  | 
17 |  | - -d DIRECT 直接连接数据库  | 
18 | 17 |  -u URL, --url=URL 目标 URL(例如:"http://www.site.com/vuln.php?id=1")  | 
 | 18 | + -d DIRECT 可直接连接数据库的地址字符串  | 
19 | 19 |  -l LOGFILE 从 Burp 或 WebScarab 代理的日志文件中解析目标地址  | 
20 | 20 |  -m BULKFILE 从文本文件中获取批量目标  | 
21 | 21 |  -r REQUESTFILE 从文件中读取 HTTP 请求  | 
 | 
25 | 25 |  请求:  | 
26 | 26 |  以下选项可以指定连接目标地址的方式  | 
27 | 27 |  | 
 | 28 | + -A AGENT, --user.. 设置 HTTP User-Agent 头部值  | 
 | 29 | + -H HEADER, --hea.. 设置额外的 HTTP 头参数(例如:"X-Forwarded-For: 127.0.0.1")  | 
28 | 30 |  --method=METHOD 强制使用提供的 HTTP 方法(例如:PUT)  | 
29 | 31 |  --data=DATA 使用 POST 发送数据串(例如:"id=1")  | 
30 | 32 |  --param-del=PARA.. 设置参数值分隔符(例如:&)  | 
 | 
33 | 35 |  --live-cookies=L.. 指定 Live cookies 文件以便加载最新的 Cookies 值  | 
34 | 36 |  --load-cookies=L.. 指定以 Netscape/wget 格式存放 cookies 的文件  | 
35 | 37 |  --drop-set-cookie 忽略 HTTP 响应中的 Set-Cookie 参数  | 
36 |  | - --user-agent=AGENT 指定 HTTP User-Agent  | 
 | 38 | + --mobile 使用 HTTP User-Agent 模仿智能手机  | 
37 | 39 |  --random-agent 使用随机的 HTTP User-Agent  | 
38 | 40 |  --host=HOST 指定 HTTP Host  | 
39 | 41 |  --referer=REFERER 指定 HTTP Referer  | 
40 |  | - -H HEADER, --hea.. 设置额外的 HTTP 头参数(例如:"X-Forwarded-For: 127.0.0.1")  | 
41 | 42 |  --headers=HEADERS 设置额外的 HTTP 头参数(例如:"Accept-Language: fr\nETag: 123")  | 
42 | 43 |  --auth-type=AUTH.. HTTP 认证方式(Basic,Digest,NTLM 或 PKI)  | 
43 | 44 |  --auth-cred=AUTH.. HTTP 认证凭证(username:password)  | 
 | 
49 | 50 |  --proxy=PROXY 使用代理连接目标 URL  | 
50 | 51 |  --proxy-cred=PRO.. 使用代理进行认证(username:password)  | 
51 | 52 |  --proxy-file=PRO.. 从文件中加载代理列表  | 
 | 53 | + --proxy-freq=PRO.. 通过给定列表中的不同代理依次发出请求  | 
52 | 54 |  --tor 使用 Tor 匿名网络  | 
53 | 55 |  --tor-port=TORPORT 设置 Tor 代理端口代替默认端口  | 
54 | 56 |  --tor-type=TORTYPE 设置 Tor 代理方式(HTTP,SOCKS4 或 SOCKS5(默认))  | 
 | 
62 | 64 |  后面的"请求"小节有详细说明)  | 
63 | 65 |  --safe-post=SAFE.. 使用 POST 方法发送合法的数据  | 
64 | 66 |  --safe-req=SAFER.. 从文件中加载合法的 HTTP 请求  | 
65 |  | - --safe-freq=SAFE.. 每访问两次给定的合法 URL 才发送一次测试请求  | 
 | 67 | + --safe-freq=SAFE.. 在访问给定的合法 URL 之间穿插发送测试请求  | 
66 | 68 |  --skip-urlencode 不对 payload 数据进行 URL 编码  | 
67 | 69 |  --csrf-token=CSR.. 设置网站用来反 CSRF 攻击的 token  | 
68 | 70 |  --csrf-url=CSRFURL 指定可提取防 CSRF 攻击 token 的 URL  | 
 | 71 | + --csrf-method=CS.. 指定访问防 CSRF token 页面时使用的 HTTP 方法  | 
 | 72 | + --csrf-retries=C.. 指定获取防 CSRF token 的重试次数 (默认为 0)  | 
69 | 73 |  --force-ssl 强制使用 SSL/HTTPS  | 
 | 74 | + --chunked 使用 HTTP 分块传输编码(POST)请求  | 
70 | 75 |  --hpp 使用 HTTP 参数污染攻击  | 
71 | 76 |  --eval=EVALCODE 在发起请求前执行给定的 Python 代码(例如:  | 
72 | 77 |  "import hashlib;id2=hashlib.md5(id).hexdigest()")  | 
 | 
88 | 93 |  --skip=SKIP 指定要跳过的参数  | 
89 | 94 |  --skip-static 指定跳过非动态参数  | 
90 | 95 |  --param-exclude=.. 用正则表达式排除参数(例如:"ses")  | 
 | 96 | + --param-filter=P.. 通过位置过滤可测试参数(例如:"POST")  | 
91 | 97 |  --dbms=DBMS 指定后端 DBMS(Database Management System,  | 
92 | 98 |  数据库管理系统)类型(例如:MySQL)  | 
93 | 99 |  --dbms-cred=DBMS.. DBMS 认证凭据(username:password)  | 
 | 
110 | 116 |  --not-string=NOT.. 用于确定查询结果为假时的字符串  | 
111 | 117 |  --regexp=REGEXP 用于确定查询结果为真时的正则表达式  | 
112 | 118 |  --code=CODE 用于确定查询结果为真时的 HTTP 状态码  | 
 | 119 | + --smart 只在使用启发式检测时才进行彻底的测试  | 
113 | 120 |  --text-only 只根据页面文本内容对比页面  | 
114 | 121 |  --titles 只根据页面标题对比页面  | 
115 | 122 |  | 
116 | 123 |  技术:  | 
117 | 124 |  以下选项用于调整特定 SQL 注入技术的测试方法  | 
118 | 125 |  | 
119 |  | - --technique=TECH 使用的 SQL 注入技术(默认为"BEUSTQ",译者注:  | 
 | 126 | + --technique=TECH.. 使用的 SQL 注入技术(默认为"BEUSTQ",译者注:  | 
120 | 127 |  B: Boolean-based blind SQL injection(布尔型盲注)  | 
121 | 128 |  E: Error-based SQL injection(报错型注入)  | 
122 | 129 |  U: UNION query SQL injection(联合查询注入)  | 
 | 
139 | 146 |  -f, --fingerprint 执行广泛的 DBMS 版本指纹识别  | 
140 | 147 |  | 
141 | 148 |  枚举:  | 
142 |  | - 以下选项用于获取后端 DBMS 的信息,结构和数据表中的数据。  | 
143 |  | - 此外,还可以运行你输入的 SQL 语句  | 
 | 149 | + 以下选项用于获取后端 DBMS 的信息,结构和数据表中的数据  | 
144 | 150 |  | 
145 | 151 |  -a, --all 获取所有信息、数据  | 
146 | 152 |  -b, --banner 获取 DBMS banner  | 
 | 
161 | 167 |  --dump-all 导出所有 DBMS 数据库表项  | 
162 | 168 |  --search 搜索列,表和/或数据库名  | 
163 | 169 |  --comments 枚举数据时检查 DBMS 注释  | 
 | 170 | + --statements 获取 DBMS 正在执行的 SQL 语句  | 
164 | 171 |  -D DB 指定要枚举的 DBMS 数据库  | 
165 | 172 |  -T TBL 指定要枚举的 DBMS 数据表  | 
166 | 173 |  -C COL 指定要枚举的 DBMS 数据列  | 
 | 
173 | 180 |  --stop=LIMITSTOP 指定要导出的数据表条目结束行数  | 
174 | 181 |  --first=FIRSTCHAR 指定获取返回查询结果的开始字符位  | 
175 | 182 |  --last=LASTCHAR 指定获取返回查询结果的结束字符位  | 
176 |  | - --sql-query=QUERY  指定要执行的 SQL 语句  | 
 | 183 | + --sql-query=SQLQ.. 指定要执行的 SQL 语句  | 
177 | 184 |  --sql-shell 调出交互式 SQL shell  | 
178 | 185 |  --sql-file=SQLFILE 执行文件中的 SQL 语句  | 
179 | 186 |  | 
 | 
182 | 189 |  | 
183 | 190 |  --common-tables 检测常见的表名是否存在  | 
184 | 191 |  --common-columns 检测常用的列名是否存在  | 
 | 192 | + --common-files 检测普通文件是否存在  | 
185 | 193 |  | 
186 | 194 |  用户自定义函数注入:  | 
187 | 195 |  以下选项用于创建用户自定义函数  | 
 | 
226 | 234 |  -t TRAFFICFILE 保存所有 HTTP 流量记录到指定文本文件  | 
227 | 235 |  --answers=ANSWERS 预设回答(例如:"quit=N,follow=N")  | 
228 | 236 |  --base64=BASE64P.. 表明参数包含 Base64 编码的数据  | 
 | 237 | + --base64-safe 使用 URL 与文件名安全的 Base64 字母表(RFC 4648)  | 
229 | 238 |  --batch 从不询问用户输入,使用默认配置  | 
230 | 239 |  --binary-fields=.. 具有二进制值的结果字段(例如:"digest")  | 
231 | 240 |  --check-internet 在访问目标之前检查是否正常连接互联网  | 
 | 241 | + --cleanup 清理 DBMS 中特定的 sqlmap UDF 与数据表  | 
232 | 242 |  --crawl=CRAWLDEPTH 从目标 URL 开始爬取网站  | 
233 | 243 |  --crawl-exclude=.. 用正则表达式筛选爬取的页面(例如:"logout")  | 
234 | 244 |  --csv-del=CSVDEL 指定输出到 CVS 文件时使用的分隔符(默认为",")  | 
 | 
239 | 249 |  --flush-session 清空当前目标的会话文件  | 
240 | 250 |  --forms 解析并测试目标 URL 的表单  | 
241 | 251 |  --fresh-queries 忽略存储在会话文件中的查询结果  | 
 | 252 | + --gpage=GOOGLEPAGE 指定所用 Google dork 结果的页码  | 
242 | 253 |  --har=HARFILE 将所有 HTTP 流量记录到一个 HAR 文件中  | 
243 | 254 |  --hex 获取数据时使用 hex 转换  | 
244 | 255 |  --output-dir=OUT.. 自定义输出目录路径  | 
 | 
247 | 258 |  --postprocess=PO.. 使用给定脚本做后处理(响应)  | 
248 | 259 |  --repair 重新导出具有未知字符的数据(?)  | 
249 | 260 |  --save=SAVECONFIG 将选项设置保存到一个 INI 配置文件  | 
250 |  | - --scope=SCOPE 用正则表达式从提供的代理日志中过滤目标  | 
 | 261 | + --scope=SCOPE 用正则表达式过滤目标  | 
 | 262 | + --skip-heuristics 不对 SQLi/XSS 漏洞进行启发式检测  | 
 | 263 | + --skip-waf 不对 WAF/IPS 进行启发式检测  | 
 | 264 | + --table-prefix=T.. 指定临时数据表名前(默认:"sqlmap")  | 
251 | 265 |  --test-filter=TE.. 根据 payloads 和/或标题(例如:ROW)选择测试  | 
252 | 266 |  --test-skip=TEST.. 根据 payloads 和/或标题(例如:BENCHMARK)跳过部分测试  | 
253 |  | - --update 更新 sqlmap  | 
 | 267 | + --web-root=WEBROOT 指定 Web 服务器根目录(例如:"/var/www")  | 
 | 268 | + | 
254 | 269 |  | 
255 | 270 |  杂项:  | 
 | 271 | + 以下选项不属于前文的任何类别  | 
 | 272 | + | 
256 | 273 |  -z MNEMONICS 使用短助记符(例如:"flu,bat,ban,tec=EU")  | 
257 | 274 |  --alert=ALERT 在找到 SQL 注入时运行 OS 命令  | 
258 |  | - --beep 出现问题提醒或在发现 SQL 注入时发出提示音  | 
259 |  | - --cleanup 指定移除 DBMS 中的特定的 UDF 或者数据表  | 
 | 275 | + --beep 在问题提示或在发现 SQL 注入/XSS/FI 时发出提示音  | 
260 | 276 |  --dependencies 检查 sqlmap 缺少(可选)的依赖  | 
261 | 277 |  --disable-coloring 关闭彩色控制台输出  | 
262 |  | - --gpage=GOOGLEPAGE 指定页码使用 Google dork 结果  | 
263 |  | - --identify-waf 针对 WAF/IPS 防护进行彻底的测试  | 
264 |  | - --mobile 使用 HTTP User-Agent 模仿智能手机  | 
265 | 278 |  --offline 在离线模式下工作(仅使用会话数据)  | 
266 | 279 |  --purge 安全删除 sqlmap data 目录所有内容  | 
 | 280 | + --results-file=R.. 指定多目标模式下的 CSV 结果输出路径  | 
267 | 281 |  --shell 调出交互式 sqlmap shell  | 
268 |  | - --skip-waf 跳过启发式检测 WAF/IPS 防护  | 
269 |  | - --smart 只有在使用启发式检测时才进行彻底的测试  | 
270 | 282 |  --tmp-dir=TMPDIR 指定用于存储临时文件的本地目录  | 
271 |  | - --web-root=WEBROOT 指定 Web 服务器根目录(例如:"/var/www")  | 
 | 283 | + --unstable 为不稳定连接调整选项  | 
 | 284 | + --update 更新 sqlmap  | 
272 | 285 |  --wizard 适合初级用户的向导界面  | 
273 | 286 | ```  | 
0 commit comments