第 2 章
本章主要内容
◎◎sqlmap 简介及安装
◎◎搭建 DVWA 渗透测试平台
◎◎sqlmap 目录及结构
◎◎sqlmap 使用攻略及技巧
从 本 章 开 始 学 习 sqlmap 的 安 装 及 使 用,sqlmap 安装虽然比较简单,但需要一些 Python 环 境 支 持。sqlmap 是 使 用 Python 语 言编写而成的,因此在实际渗透过程中还可以根 据实际情况修改其脚本,甚至编写适合自己的 脚本,特别是 tamper 绕过 WAF 防火墙脚本。 sqlmap 通过命令参数进行各种测试,因此掌握 sqlmap 最快捷的方式是掌握 sqlmap 命令参数, 本章将对 sqlmap 的命令参数、目录结构等进行 详细的分析和介绍,读者应该熟记 sqlmap 使用 的常见命令参数,这些参数在实际渗透过程中经常使用。
本章主要介绍 sqlmap 简介及安装、搭建 DVWA 渗 透 测 试 平 台、sqlmap 目 录 及 结 构, 以及 sqlmap 使用攻略及技巧。
2.1 sqlmap简介及安装
2.1.1 sqlmap 简介
1. 简介
在网络安全初期阶段,HDSI 3.0、Goldsun干净拓宽版、Domain、Safe3、管中窥豹、啊D 和Pangolin这些工具曾风靡一时。只要有一个工具,就能“闯”天下。随着大众网络安全意 识的提高,现在再使用这些工具去扫描、进行注入猜测,很少有成功的。目前在SQL注入 比较好用的工具,首推开源工具sqlmap。sqlmap是一款用来检测与利用SQL注入漏洞的免费 开源工具,有一个非常好的特性,即对检测与利用的自动化处理(数据库指纹、访问底层 文件系统、执行命令)。截至 2019 年 4 月 19 日其最新版本为 1.3.4.28。sqlmap的开发者为 Bernardo DameleAssumpcao Guimaraes (@inquisb):bernardo@sqlmap.org,Miroslav Stampar (@ stamparm):miroslav@sqlmap.org,读者可以通过dev@sqlmap.org与sqlmap的所有开发者联系。 目前,sqlmap已将SQL注入等漏洞检测做到了极致,对于不熟悉sqlmap的用户,本节就从最 简单的安装开始介绍。
2. 下载sqlmap
sqlmap目前由Netsparker公司提供赞助,进行开发和维护,其官方站点为http://sqlmap.org/,在 该站点上还有很多学习资料,可以查看帮助资料、视频和威客等。
tar文件和zip文件下载地址详见本书赠送资源(下载方式见前言)。
3. sqlmap需要Python环境支持
sqlmap需要在Python 2.7.x 或Python 2.6.x 环境下运行,Python总下载地址、tgz及tar.xz 版本下载地址、Mac OS X 10.6 及Mac OS X 10.9 版本下载地址、Windows32 及amd64 位下载 地址详见本书赠送资源(下载方式见前言)。
2.1.2 Windows 10 下安装 sqlmap
1. 安装Python 2. 7. 15 运行环境
(1)下载操作系统对应版本的Python。
目前绝大多数操作系统都是 64 位的,因此下载python-2.7.15.amd64.msi即可。
(2)运行python-2.7.15.amd64.msi安装程序。
2. 执行python-2. 7. 15 进行安装
(1)选择计算机安装用户类型。
如图 2-1 所示,可以选择“Install for all users”(所有用户安装)安装方式,也可以选 择“Install just from me”(仅为当前用户)安装方式。
图 2-1? 仅为当前用户安装
(2)选择安装路径。
如图 2-2 所示,选择安装目录,默认是安装在“C:\Python27\”目录下,单击“Up”按 钮可以在计算机磁盘中选择指定的目录进行安装,单击“New”按钮会创建一个新的文件 夹来安装。本例中使用默认安装目录,单击“Next”按钮继续进行安装。
图 2-2? 选择安装目录
(3)定制Python安装。
如图 2-3 所示,可以选择“Add python.exe to Path”将python.exe添加到环境变量Path中, 后续在任何地方都可以直接执行Python程序,单击其下拉按钮,在下拉列表中选择“Will be installed on local hard drive”将其安装在本地硬盘上,其他选项选择默认即可。单击“Disk
Usage”按钮可以查看磁盘使用情况。
图 2-3? 安装环境变量
(4)允许执行安装。
Windows 10 会让用户选择是否进行安装,即过去的UAC权限控制,这里选择允许其安 装,接着Python会自动进行安装,安装完毕后,单击“Finish”按钮完成Python的安装。
(5)测试Python是否正常运行。
单击Windows图标→“运行”→“cmd.exe”,如图 2-4 所示,在DOS命令提示符下输 入python,正确运行后会显示Python的版本为 2.7.15 及版本号等信息。
图 2-4? 测试Python是否正常运行
3. 安装sqlmap
将sqlmap下载到本地解压缩即可使用,但需要安装一些模块,不同版本在进行SQL注 入测试时可能会有结果不一致的现象,例如,有些版本支持多语句SQL盲注,而有些版本 就不支持。
(1)下载sqlmap。其下载地址详见本书赠送资源(下载方式见前言)。
(2)Windows下安装。
解压缩安装包即可,一般是将sqlmap文件夹复制到Python27 文件夹下。注意,默认解 压后文件夹名称比较 长,如sqlmapproject-sqlmap-1.3.2-22-gdfe6fe6.zip,将其重命名为 sqlmap。
(3)测试环境是否正常:
Python sqlmap.py -h //查看普通帮助
Python sqlmap.py -hh //查看所有帮助
如图 2-5 所示,本例将sqlmap复制到Python27 目录下,也可以在任何目录 下,执行 sqlmap.py -h命令可以看到帮助信息,其版本显示为 1.2.5.24 版本。注意,在命令提示符下复 制Word中的“-”有可能出错,建议手动输入,因为Word会自动校正“-”为中文字符下的“-”。
图 2-5? 测试sqlmap运行是否正常
4. 安装和使用的一些技巧
(1)设置环境变量。 在有些操作系统下,需要设置环境变量,方便在系统的任何地方调用Python程序。选
中“计算机”并右击,在弹出的快捷菜单中选择“属性”→“高级系统设置”→“系统属性”→“环境变量”选项,在Path环境变量中加入“C:\Python27\;”,如图 2-6 所示。
图 2-6? 设置环境变量
(2)安装setuptools。
下载setuptools,目前其最新版本为 39.0.1,下载地址详见本书赠送资源(下载方式见 前言)。
将该压缩包复制到sqlmap下,然后进入DOS命令提示符,例如,将sqlmap安装在系统C
盘下,执行安装命令: