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

相关推荐
司沐_Simuoss3 小时前
Text to SQL系统的千层套路~
数据库·人工智能·sql·语言模型·系统架构
米羊1216 小时前
威胁识别(上)
网络·安全·web安全
白帽子黑客罗哥6 小时前
护网行动中遇到突发安全事件的标准应急响应流程
网络·安全·web安全·计算机·护网行动
ActionTech6 小时前
MySQL 用好 Optimizer Trace,深刻理解 SQL 优化过程!
sql·mysql·oracle
世界尽头与你6 小时前
(修复方案)CVE-2023-26111: node-static 路径遍历漏洞
安全·网络安全·渗透测试
Mr_Xuhhh7 小时前
MySQL索引深度解析:从原理到实践
数据库·sql·mysql
ZZ587 小时前
mumu模拟器adb安装apk以及抓https包
网络安全
多多*7 小时前
Mysql数据库相关 事务 MVCC与锁的爱恨情仇 锁的层次架构 InnoDB锁分析
java·数据库·windows·sql·oracle·面试·哈希算法
hellojackjiang20117 小时前
如何保障分布式IM聊天系统的消息可靠性(即消息不丢)
分布式·网络安全·架构·信息与通信
EverydayJoy^v^8 小时前
RH134简单知识点——第11章—— 管理网络安全
linux·网络·web安全