当前位置: 首页 > news >正文

SQL注入——Sqlmap工具使用

一、Sqlmap介绍

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

前置:python环境

下载
官网: https://sqlmap.org/
github地址: https://github.com/sqlmapproject/sqlmap
国内可下载地址: https://gitee.com/yijingsec/sqlmap


二、使用方法

  1. 首先进入到 Sqlmap 目录,把输入框改为cmd,回车。或者右击——>在终端打开。
    在这里插入图片描述

在这里插入图片描述
2. 可以看到在命令提示符里已经进入到了所在目录
在这里插入图片描述

  1. 进入 python 环境,然后执行 python sqlmap.py -h 查看使用帮助
    在这里插入图片描述
    就可以看到详细使用帮助了,看不懂的直接用翻译即可。
    kali系统自带这个工具直接使用即可。

常用技巧:
基本格式python sqlmap.py -u “网址”,以下均为示例
A. 注入GET型

  1. URL里只有一个参数
python sqlmap.py -u "http://127.0.0.1/DVWA/vulnerabilities/sqli/?id=1&Submit=Submit#"
  1. URL里有两个参数则需要用引号" "把URL包裹起来
    -p 指定测试点
python sqlmap.py -u "http://127.0.0.1/DVWA/vulnerabilities/sqli/?id=1&Submit=Submit#" -p page
  1. –batch 为自动化测试,所有选择自动帮助选择
python sqlmap.py -u "http://127.0.0.1/DVWA/vulnerabilities/sqli_blind/" -p page --batch
  1. –dbs获取网站所有的数据库名
python sqlmap.py -u "http://127.0.0.1/DVWA/vulnerabilities/sqli/?id=1&Submit=Submit#" --dbs
  1. –tables 获取表名, -D 指定数据库
python sqlmap.py -u "http://127.0.0.1/DVWA/vulnerabilities/sqli/?id=1&Submit=Submit#" -D 数据库名 --tables
  1. –columns获取列名 , -T 指定数据表
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\ 里
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头。
`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 参数指定文件

python sqlmap.py –r test.txt –p uname

C. 注入head头
SQLmap默认测试所有的GET和POST参数,当 level 的值大于等于2的时候也会测试 Cookie 头的值,
当大于等于3的时候也会测试 User-Agent 和 Referer 头的值,最高可到5。

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.”
知识即力量,而道德是指南针。

http://www.xdnf.cn/news/528805.html

相关文章:

  • 实景VR展厅制作流程与众趣科技实景VR展厅应用
  • Assistants API
  • upload-labs靶场通关详解:第10关
  • 项目QT+ffmpeg+rtsp(三)——延迟巨低的项目+双屏显示
  • FPGA 串口_波特率计算
  • 使用Python和FastAPI构建网站爬虫:Oncolo医疗文章抓取实战
  • [学习]POSIX消息队列的原理与案例分析(完整示例代码)
  • 循环神经网络:揭秘RNN的核心与应用
  • 设计模式的原理及深入解析
  • 人工智能100问☞第27问:神经网络与贝叶斯网络的关系?
  • Spring Boot 的高级特性与经典的设计模式应用
  • Flink 非确定有限自动机NFA
  • reserve学习笔记(花指令)
  • 用Python构建学生成绩管理系统的基本方案
  • 系统架构设计师考前冲刺笔记-第3章-软件架构设计
  • 《JVM如何判断一个对象可以被回收?图文详解GC Root算法》
  • Windows 下 Qt 项目配置 FFmpeg 简明指南
  • 使用docker——10分钟内 完成一个高可用的 MongoDB 副本集部署
  • 代理IP高可用性与稳定性方案:负载均衡、节点健康监测与智能切换策略
  • python链接数据库
  • 线程调度与单例模式:wait、notify与懒汉模式解析
  • Excel
  • Vue 中 v-model 的三种使用方式对比与实践
  • B/S架构和C/S架构的介绍与分析
  • UE 材质几个输出向量节点
  • 嵌入式51单片机:C51
  • Qt—模态与非模态对话框
  • 板凳-------Mysql cookbook学习 (四)
  • 分布式天线系统 (DAS, Distributed Antenna System)
  • 机器学习第十六讲:K-means → 自动把超市顾客分成不同消费群体