用途:提供使用 SQLMap 进行自动化 SQL 注入检测与利用的系统化方法,覆盖数据库枚举、表与列发现、数据提取,以及多种目标指定方式,支持 MySQL、PostgreSQL、MSSQL、Oracle 等数据库管理系统。
前置条件:目标 URL 含可注入参数(如 ?id=1);SQLMap 已安装(Kali Linux 预装或从 GitHub 下载);已确认或怀疑存在注入点;可选 Burp Suite 捕获的 HTTP 请求文件;必须获得书面授权。
核心流程:先用单引号手工验证(如 http://target.com/page.php?id=1'),再用 sqlmap -u "URL" --batch 初步扫描;随后依次枚举库、表、列并提取数据:sqlmap -u "URL" --dbs --batch、-D dbname --tables、-D dbname -T tablename --columns、--dump、--dump-all。可用 -C 指定列。目标可来自请求文件(-r)、日志(-l)、批量文件(-m)或 Google dork(-g,仅限合法目标)。
主要能力:支持布尔盲注(--technique=B)、时间盲注(T)、报错注入(E)、UNION 查询(U)、堆叠查询(S)、带外(Q);支持 --level 1-5、--risk 1-3、--random-agent、--tamper、--threads、--delay、--tor 等选项;高级功能包括 --os-shell、--os-cmd、--file-read、--file-write。
限制:必须有明确书面授权,禁止未授权测试;需要与目标数据库服务器网络连通;大型转储耗时;WAF/IPS 可能阻断;时间盲注较慢;SQLMap 会产生大量日志,存在被检测风险;使用前需向用户确认目标、授权与范围,展示确切命令并等待确认,未经确认仅提供防御性指导。
适用场景:获授权的渗透测试、安全评估、教学实验环境。