Sqlmap是一个开源的渗透工具,它可以自动化检测和利用SQL注入缺陷以及接管数据库服务器的过程。他有一个强大的检测引擎,许多适合于终极渗透测试的小众特性和广泛的开关,从数据库指纹、从数据库获取数据到访问底层文件系统和通过带外连接在操作系统上执行命令
官方网址:http://sqlmap.org/
Sqlmap特点
- 完全支持MySQL、Oracle、PostgreSQL、Microsoft SQL Server、Microsoft Access、IBM DB2、SQLite、Firebird、Sybase、SAP MaxDB、HSQLDB和Informix等多种数据库管理系统。
- 完全支持布尔型盲注、时间型盲注、基于错误信息的注入、联合查询注入和堆查询注入。
- 在数据库证书、IP地址、端口和数据库名等条件允许的情况下支持不通过SQL注入点而直接连接数据库。
- 支持枚举用户、密码、哈希、权限、角色、数据库、数据表和列。
- 支持自动识别密码哈希格式并通过字典破解密码哈希。
- 支持完全地下载某个数据库中的某个表,也可以只下载某个表中的某几列,甚至只下载某一列中的部分数据,这完全取决于用户的选择。
- 支持在数据库管理系统中搜索指定的数据库名、表名或列名
Sqlmap的下载及使用
http://sqlmap.org/
我们下载来的是一个压缩文件包,将其解压成文件夹后即可使用
使用
通过cd 进入到sqlmap解压后的文件夹,再通过相关命令运行即可
sql注入
所谓SQL注入,就是通过把SQL命令插入到web表单提交或输入域名或页面请求的查询字符串, 最终达到欺骗服务器执行恶意的SQL命令。具体来说,它是利用现有应用程序,将SQL命令注入到后台数据库引擎执行的能力,它可以通过在web表单中输入SQL语句得到一个存在安全漏洞 的网站上的数据库,而不是按照设计者意图去执行SQL语句
SQL注入发生未知HTTP数据包中任意位置
sqlmap输出级别
参数:-v
Sqlmap的输出信息按从简到繁共分为7个级别依次为0、1、2、3、4、5和6。使用参数-v 来 指定某个等级,如使用参数-v 6来指定输出级别为6。默认输出级别为1。
- 0:只显示Python的tracebacks信息、错误信息[ERROR]和关键信息[CRITICAL]
- 1:同时显示普通信息[INFO]和警告信息[WARNING]
- 2:同时显示调试信息[DEBUG]
- 3:同时显示注入使用的攻击荷载
- 4:同时显示HTTP请求头
- 5:同时显示HTTP响应头
- 6:同时显示HTTP响应体