Windows 上 sqlmap的使用教程

时间:2024-02-17 18:49:05

一、概述

1.1 简介

sqlmap是一款非常强大的开源sql自动化注入工具,可以用来检测和利用sql注入漏洞。它是由python语言编写而成。因此使用sqlmap时,需要在python环境中运行。

1.2 功能点

  • 完全支持MySQL、Oracle、PostgreSQL、Microsoft SQL Server、Microsoft Access、IBM DB2、SQLite、Firebird、Sybase、SAP MaxDB、HSQLDB和Informix等多种数据库管理系统。
  • 完全支持布尔型盲注、时间型盲注、基于错误信息的注入、联合查询注入和堆查询注入。
  • 在数据库证书、IP地址、端口和数据库名等条件允许的情况下支持不通过SQL注入点而直接连接数据库。
  • 支持枚举用户、密码、哈希、权限、角色、数据库、数据表和列。
  • 支持自动识别密码哈希格式并通过字典破解密码哈希。
  • 支持完全地下载某个数据库中的某个表,也可以只下载某个表中的某几列,甚至只下载某一列中的部分数据,这完全取决于用户的选择。
  • 支持在数据库管理系统中搜索指定的数据库名、表名或列名。
  • 当数据库管理系统是MySQL、PostgreSQL或Microsoft SQL Server时支持下载或上传文件。
  • 当数据库管理系统是MySQL、PostgreSQL或Microsoft SQL Server时支持执行任意命令并回现标准输出。

二、安装

2.1 环境要求

 Python2.7(python3不支持)

下载地址  https://www.python.org/downloads/

安装过程指定自己想要安装的路径,点击next,将“Add python.exe to Path"项勾选,勾选后安装完成不再需要单独添加环境变量,默认是“去勾选”的;安装成功后选择将python This feature will be installed on local hard drive.

因为测试环境的需要 可能会有一台电脑安装多种不同版本的python的情况,所以不直接用cmd去验证

要验证当前python安装是否成功进入python 2.7.11安装的路径 按下shift 鼠标右键 打开命令行窗口

 

 

 当前python安装成功

2.2 windows的安装步骤

  • 在sqlmap官网http://sqlmap.org/下载最新版本的sqlmap安装包。如下图所示:

 

 

将下载下来的安装包解压到自己想存放的目录并将解压,重命名为sqlmapproject,验证sqlmap是否安装完成,可进行如下操作进行验证:

打开cmd窗口,进入到python2.7.1的安装目录(这里如果配置了python环境变量,则不需要进入到此目录):
将当前的文件直接拉到 cmd上面来运行,直接运行下面的程序,并将当前的 sqlmap.py 的程序拉过来运行 ,可以看到当前的版本

 

 

为了方便使用可以这样做

2.3  windows 方便使用的方法

将解压的  sqlmapproject文件  拷贝到 所安装的python的对应路径"F:\21.Learn\Python\python2.7.1" 目录下;

 

然后在桌面新建立一个cmd的快捷方式,并命名为“SQLMap”;

(在开始这边搜索cmd-->在cmd.exe上用鼠标右键,选择发送到-桌面快捷方式

将当前的桌面快捷方式重命名为 sqlmap) 

 

 然后在新建快捷方式上右键“属性”,将“起始位置”修改为  F:\21.Learn\Python\python2.7.1\sqlmapproject ,然后确定

之后点击当前的快捷方式输入 python sqlmap.py -h 

可以看到当前的一些命令的help选项

 

 

 

三、使用

3.1 初级用法

3.1.1 检测注入点

  • GET注入
  • F:\21.Learn\Python\python2.7.1\sqlmapproject>python sqlmap.py -u http://192.168.23.47?id=1

 

 

可以安装配置zap,zap抓取网页请求

可在这边填写上 对应想要的参数   

 

 

 

 

 

 

 

 

 

完整的命令:python安装路径

参数为调用sqlmap检测注入的命令,格式为:

 F:\21.Learn\Python\python2.7.1\sqlmapproject\sqlmap.py --proxy http://127.0.0.1:8080 --force-ssl  -u "%url%" --cookie "%cookie%" --data "%postdata%" -f --batch --dbs --level 5 -v 3

如上配置zap,并把会话成功保存到指定目录,谷歌浏览器安装Proxy-SwitchyOmega_v2.5.15扩展程序,并启用proxy代理模式,访问我们的被测设备,zap即可成功抓取网页请求:

 

 

 

如何分析抓到的请求

直接zap分析单条请求(配合Windows版本的sqlmap)

缺点:只能单条分析,且只能是现抓现分析,一旦cookie过期请求就无效,无法分析

分析方法:安装上述步骤配置zap 工具-》选项-》应用程序,选中cgi请求,右键Run 应用程序-》sqlmap,就会在已经打开的sqlmap窗口进行分析。

 

 

 

 sqlmap直接批量分析请求原文件

把cgi请求保存为raw原文件

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 



 

安装谷歌插件 

谷歌浏览器安装附件中扩展程序:Omega,打开浏览器的设置-->  更多工具 --> 扩展程序-->打开开发者模式