一、概述
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是否安装完成,可进行如下操作进行验证:
为了方便使用可以这样做
2.3 windows 方便使用的方法
将解压的 sqlmapproject文件 拷贝到 所安装的python的对应路径"F:21.LearnPythonpython2.7.1" 目录下;
然后在桌面新建立一个cmd的快捷方式,并命名为“SQLMap”;
(在开始这边搜索cmd-->在cmd.exe上用鼠标右键,选择发送到-桌面快捷方式
将当前的桌面快捷方式重命名为 sqlmap)
然后在新建快捷方式上右键“属性”,将“起始位置”修改为 F:21.LearnPythonpython2.7.1sqlmapproject ,然后确定
之后点击当前的快捷方式输入 python sqlmap.py -h
可以看到当前的一些命令的help选项
三、使用
3.1 初级用法
3.1.1 检测注入点
- GET注入
-
F:21.LearnPythonpython2.7.1sqlmapproject>python sqlmap.py -u http://192.168.23.47?id=1
可以安装配置zap,zap抓取网页请求
可在这边填写上 对应想要的参数
完整的命令:python安装路径
参数为调用sqlmap检测注入的命令,格式为:
F:21.LearnPythonpython2.7.1sqlmapprojectsqlmap.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,打开浏览器的设置--> 更多工具 --> 扩展程序-->打开开发者模式