SQLmap是什么?
SQLMAP是一个自动化的SQL注入工具,其主要功能是扫描,发现并利用给定的URL和SQL注入漏洞,其广泛的功能和选项包括数据库指纹,枚举,数据库提权,访问目标文件系统,并在获取操作权限时执行任意命令。
SQLMAP是开源的自动化SQL注入工具,由Python写成,具有如下特点:
1、完全支持MySQL、Oracle、PostgreSQL、MSSQL、Access、IBM DB2、SQLite、Firebird、Sybase、SAP MaxDB、HSQLDB和Informix等多种数据库管理系统。
2、完全支持布尔型盲注、时间型盲注、基于错误信息的注入、联合查询注入和堆查询注入。
3、在数据库证书、IP地址、端口和数据库名等条件允许的情况下支持不通过SQL注入点而直接连接数据库。
4、支持枚举用户、密码、哈希、权限、角色、数据库、数据表和列
5、支持自动识别密码哈希格式并通过字典破解密码哈希。
6、支持完全地下载某个数据库中的某个表、也可以只下载某个表中的某几列。
7、支持在数据库管理系统中搜索指定的数据库名、表名和列名
8、当数据库管理系统是MySQL、PostgreSQL或者MSSQL时支持下载或上传文件。
9、当数据库管理系统是MySQL、PostgreSQL或者MSSQL时支持执行任意命令并回显标准输出。
SQLMAP--Python安装
如果是windows系统需要先下载python安装,然后再下载sqlmap进行安装和使用,在kali系统自带sqlmap工具。
SQLMAP目录介绍
1、doc目录:保护sqlmap的简要说明,具体使用说明,作者信息等。
2、extra目录:包含sqlmap的额外功能,如发出声响、允许cmd、安全执行等。
3、lib目录:sqlmap核心目录。
4、plugins目录:包含了sqlmap目前支持的13种数据库信息和数据库通用事项。
5、procs目录:包含了mssql、mysql、oracle、postgresql的触发程序。
6、shell目录:包含了注入成功后的9种shell远程命令执行。
7、tamper目录:包含了waf绕过脚本。
8、thirdparty目录:包含了第三方插件,例如优化,保持连接,颜色。
9、txt目录:包含了表名字典,列名字典,UA字典等。
10、udf目录:存放攻击载荷。
11、waf目录:存放waf特征判断脚本。
12、xml目录:存放多种数据库注入检测的payload等信息
SQLMAP工作流程
SQLMAP特性
sqlmap支持常见的六种不同的注入模式(不计算其他数据库类型):
1、基于布尔盲注,即可以根据返回页面判断条件真假的注入。
2、基于时间盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断。
3、基于报错注入、即页面会返回错误信息,或者把注入的语句的结果直接返回在页面中。
4、联合查询注入、可以使用union的情况下的注入。
5、堆查询注入、可以同时执行多条语句的执行时的注入。
6、内联查询注入、在sql语句中执行sql语句