|
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