SQLMap常用命令指南(参数及其用法)

一、SQLMap 简介

SQLMap 是一款开源的自动化 SQL 注入工具,广泛应用于检测和利用 Web 应用程序的 SQL 注入漏洞。它支持多种数据库类型(如 MySQL、PostgreSQL、MSSQL、Oracle 等),并提供了丰富的参数以应对各种注入场景。


二、常用命令速查

2.1 目标指定

命令 说明
-u <URL> 指定目标 URL
-d <DB连接> 直接连接数据库
-l <文件> 从 Burp 日志中读取目标
-r <文件> 从 HTTP 请求文件中读取目标
-g <Google语法> 使用 Google 搜索结果作为目标
-c <配置文件> 读取配置文件执行

2.2 数据库枚举

命令 说明
--dbs 列出所有数据库
--current-db 列出当前数据库
--tables 列出当前数据库的所有表
--columns 列出指定表的所有列
--dump 导出表中数据
-D <库名> 指定数据库
-T <表名> 指定表
-C <列名> 指定列

2.3 请求与注入

命令 说明
--data=<数据> 指定 POST 数据
--method=<方法> 指定 HTTP 方法
--cookie=<Cookie> 指定 Cookie
--user-agent=<UA> 指定 User-Agent
--referer=<Referer> 指定 Referer
--headers=<头信息> 添加额外请求头
--proxy=<代理> 使用代理
--delay=<秒> 设置请求延迟
--timeout=<秒> 设置超时时间
--tamper=<脚本> 使用篡改脚本绕过 WAF

2.4 检测与优化

命令 说明
--level=<1-5> 设置检测等级(默认1)
--risk=<0-3> 设置风险等级(默认1)
--smart 启发式检测,节省时间
--batch 自动确认,无需交互
--threads=<数> 设置线程数(最大10)
--random-agent 使用随机 User-Agent

2.5 高级功能

命令 说明
--os-shell 尝试获取系统 Shell
--file-read=<文件> 读取数据库服务器文件
--file-write=<文件> 写入文件到服务器
--os-cmd=<命令> 执行操作系统命令
--sql-query=<SQL> 执行自定义 SQL 语句
--sql-shell 交互式 SQL Shell

三、常用操作示例

3.1 基本注入流程

复制代码
sqlmap -u "http://example.com/page?id=1" --batch --dbs
sqlmap -u "http://example.com/page?id=1" -D dbname --tables
sqlmap -u "http://example.com/page?id=1" -D dbname -T users --columns
sqlmap -u "http://example.com/page?id=1" -D dbname -T users -C username,password --dump

3.2 POST 注入

复制代码
sqlmap -u "http://example.com/login" --data="username=admin&password=pass" --forms
复制代码
sqlmap -u "http://example.com/dashboard" --cookie="session=abc123" --level=2

四、检测等级与风险等级说明

--level 参数

  • 1:默认等级,测试 GET 和 POST 参数

  • 2:增加 Cookie 检测

  • 3:增加 User-Agent 和 Referer 检测

  • 4:增加 Host 头检测

  • 5:全量检测

--risk 参数

  • 1:默认,大多数测试语句

  • 2:增加基于时间的盲注测试

  • 3:增加 OR 型注入测试


五、小贴士

  • 使用 --batch 可避免交互式确认,适合自动化;

  • 使用 --tamper 可绕过简单的 WAF/IDS;

  • 使用 --delay--threads 可控制请求频率,避免被封;

  • 结合 Burp Suite 抓包后使用 -r 参数进行注入测试非常方便。


六、总结

SQLMap 是安全测试中不可或缺的工具之一,熟练掌握其常用参数和场景组合,可以极大提升渗透测试效率。本文列举的指令覆盖了大部分常用场景,建议结合实际靶场练习,加深理解。

相关推荐
姚远Oracle ACE1 小时前
Oracle AWR案例分析:精准定位SQL执行计划切换的时间点
数据库·sql·oracle
轻舟行72 小时前
常见的网站文件后缀名
web安全·网络安全
xixixi777773 小时前
水坑攻击的攻击原理和特点+案例和防御方法
网络·安全·web安全
敲代码的嘎仔3 小时前
JavaWeb零基础学习Day6——JDBC
java·开发语言·sql·学习·spring·单元测试·maven
哥哥还在IT中5 小时前
让数据库更智能-大模型如何优化我们的SQL查询
数据库·sql
携欢5 小时前
PortSwigger靶场之盲 SSRF(服务器端请求伪造)漏洞通关秘籍
前端·网络·安全·web安全
Hello.Reader8 小时前
Flink Table API & SQL 概念、常用 API 与工程落地
大数据·sql·flink
Cyyyy_g8 小时前
【2025 SWPU-NSSCTF 秋季训练赛】WebFTP
安全·网络安全
平凡的学者9 小时前
RustyKey
网络安全·hackthebox
unable code10 小时前
攻防世界-Misc-pdf
网络安全·ctf·misc·1024程序员节