sqlmap SQL注入工具的使用方法
本文最后更新于 2025年7月14日 凌晨
1️⃣ 常用命令
1 |
|
2️⃣ 进阶使用
1 |
|
3️⃣ 延时注入
1 |
|
4️⃣ 绕过组合示例
1 |
|
5️⃣ 常用参数
1 |
|
6️⃣ 高级功能
1 |
|
7️⃣ 支持的数据库
数据库 | 参数 |
---|---|
MySQL | --dbms=mysql |
PostgreSQL | --dbms=postgresql |
MSSQL | --dbms=mssql |
Microsoft Access | --dbms=mdb |
Oracle | --dbms=oracle |
SQLite | --dbms=sqlite |
Sybase | --dbms=sybase |
Firebird | --dbms=firebird |
Informix | --dbms=informix |
MaxDB | --dbms=maxdb |
DB2 | --dbms=db2 |
HSQLDB | --dbms=hsqldb |
MonetDB | --dbms=monetdb |
Teradata | --dbms=teradata |
MariaDB | --dbms=mariadb |
8️⃣ 常用 tamper
脚本
tamper
是 sqlmap 的强大绕过功能。
脚本 | 用途 |
---|---|
randomcase.py | 随机大小写 |
space2comment.py | 空格替换为 /**/ |
space2plus.py | 空格替换为 + |
randomcomments.py | SQL 关键字注释分割 |
versionedkeywords.py | 使用内联注释绕过 |
apostrophemask.py | 引号 UTF-8 编码 |
base64encode.py | Base64 编码 |
space2morehash.py | 空格替换为 # 并换行 |
apostrophenullencode.py | 单引号用双字节 Unicode 替换 |
charencode.py | URL 编码 |
chardoubleencode.py | 双重 URL 编码 |
modsecurityversioned.py | MySQL 内联注释绕过 |
unionalltounion.py | UNION ALL SELECT 转 UNION SELECT |
bluecoat.py | 用 LIKE 替代 = |
sp_password.py | 拼接 sp_password 绕过 |
… | 还有很多,可参考 sqlmap 自带文档 |
📌 小结
- 生产使用时建议先用低
risk
、低level
探测。 - 多配合
tamper
组合测试。 - 强烈建议配合 Burp Suite 抓包后使用
-r
参数。 - 遵守法律法规,仅用于授权渗透测试。