sqmap基础

一、SQLMAP简介

1、SQLMAP是什么?

SQLMAP是一个开源的自动化SQL注入工具,其主要功能是扫描、发现并利用给定的URL的SQL

注入漏洞。

二、SQLMAP下载安装

官网:http://sqlmap.org

Github:https://github.com/sqlmapproject/sqlmap

注意:安装之前系统需要配置Python环境!

(https://www.python.org/downloads/)

三、SQLMAP使用教程

https://github.com/sqlmapproject/sqlmap/wiki/Usage

四、SQLMAP可以对URL干嘛?

①判断可注入的参数

②判断可以使用哪一种SQL注入技术进行注入

③判断识别数据库的类型

④根据用户的选择,从数据库中读取数据

五、SQLMAP支持的注入技术

①基于布尔的盲注:根据返回页面判断条件真假的注入。

②基于时间的盲注:不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断。

③基于报错的注入:页面会返回错误信息,或者把注入的语句的结果直接返回在页面中

④基于联合查询的注入:可以使用UNION的情况下的注入

⑤堆查询注入:同时执行多条语句的注入。

六、SQLMAP支持的数据库类型

主要包括一些关系型数据库(RMDBS),如MySQL、Oracle、PostgreSQLMicrosoft SQL Server、

Microsoft Access、lBM DB2、SQLite、FirebirdSybase、SAP MaxDB、Informix、HSQLDB等

七、SQLMAP检测注入漏洞的流程

①网站连通性检测:检测目标的连接状态

②WAF探测:检测网站是否受WAF保护:

③网页稳定性检测:检测网页是否稳定。

④参数动态性检测:检测参数是否具有动态性。

⑤启发式注入检测:探测该参数点是否是动态的、是否为可能的注入点。

八、SQLMAP的误报检测机制

误报检测:SQLMAP的布尔盲注、时间盲注方式判断注入点时,存在误报的可能。为防止误报,

SQLMap引入了误报检测机制。

两个基础检测算法:

①页面相似度对比技术(在各种注入技术中大量使用):在SQLMap检测的整个过程中,会有一个原始

响应的定义,指的是在网站连通性检测的过程中,如果网站成功响应,则把该响应定义为原始响应

(包括状态码、HTTP响应头、HTTP响应体)一个HTTP请求成功响应后,将与原始响应进行对比,

得出对比结果,算法输出为True表示当前响应与原始响应相似,算法输出为False表示当前响应与

原始响应不相似。

②高斯分布识别响应机制(在UNION注入和时间盲注过程中使用):网站的响应是基于逻辑的,如果

一组请求,网站的处理逻辑相同,那么响应几乎也是相同的。如果某一个响应出现了变化,则可以

认为网站处理逻辑变了,这种逻辑的变化,可能正是因为注入成功了。

九、sqlmap的基本使用

常见用法1:-u参数(直接输入目标URL)

命令实例:sqlmap -u"www.test.com/index.php?id=1'

验证过程

①判断可注入的参数

②判断可以用哪种SQL注入技术来注入

③识别出所有存在的注入类型

④尝试去判定数据库版本、开发语言、操作系统版本

常见用法1:-u参数(直接输入目标URL)

①sqlmap -u http://192.168.0.110/page.php?id=10 --current-db //爆当前库

②sqlmap -u http://192.168.0.110/page.php?id=10 -D 数据库名 --tables//爆表名

③sqlmap -u http://192.168.0.110/page.php?id=10 -D 数据库名 -T 表名columns //爆字段

④sqlmap -u http://192.168.0.110/page.php?id=10-D数据库名 -T 表名 -C字段名1,字段名2,字段

名3...(互相用逗号隔开)--dump //显示数据

SQLMAP基本使用实例1:-u参数的用法

目标靶机:SQLi-Labs的less-1

要求:利用SQLMAP实现注入,获取users表中存储的用户名、密码

①爆破当前数据库名

②爆指定数据库中的表名

③爆指定数据表中的字段名

④爆指定字段的值

常见用法2:-r参数(从文本文件中获取http请求)

命令实例:sqlmap -r /usr/a.txt

说明:使用该命令时须指明a.txt(保存着http请求包)文件所在的绝对路径

验证过程:与-u参数类似

①判断可注入的参数

②判断可以用哪种SQL注入技术来注入

③识别出所有存在的注入类型

④尝试去判定数据库版本、开发语言、操作系统版本

目标靶机:SQLi-Labs的less-11

要求:利用SQLMAP实现注入,获取users表中存储的用户名、密码

①利用Burpsuite截取HTTP Request报文

②将截取到的HTTP Request报文保存在文本文件中

③利用SQLMAP对该文本文件中涉及的目标网站进行注入--爆当前数据库的库名

④利用SQLMAP对该文本文件中涉及的目标网站进行注入--指定数据库的表名

⑤利用SQLMAP对该文本文件中涉及的目标网站进行注入--指定数据表的字段名

⑥利用SQLMAP对该文本文件中涉及的目标网站进行注入--爆指定字段的值

常见用法3:-m参数(从文件中取出保存的url进行检测)

命令实例:sqlmap -m /usr/b.txt说明:使用该命令时须指明b.txt(保存着多项URL)文件所在的绝对路径

验证过程:与-u参数类似

①判断可注入的参数

②判断可以用哪种SQL注入技术来注入

③识别出所有存在的注入类型

④尝试去判定数据库版本、开发语言、操作系统版本

一、SQLMAP简介

1、SQLMAP是什么?

二、SQLMAP下载安装

三、SQLMAP使用教程

四、SQLMAP可以对URL干嘛?

五、SQLMAP支持的注入技术

六、SQLMAP支持的数据库类型

七、SQLMAP检测注入漏洞的流程

八、SQLMAP的误报检测机制

两个基础检测算法:

九、sqlmap的基本使用

常见用法1:-u参数(直接输入目标URL)

常见用法1:-u参数(直接输入目标URL)

SQLMAP基本使用实例1:-u参数的用法

常见用法2:-r参数(从文本文件中获取http请求)

常见用法3:-m参数(从文件中取出保存的url进行检测)


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值