sqlmap是一款非常强大的开源sql自动化注入工具,可以用来检测和利用sql注入漏洞【动态页面中get/post参数、cookie、HTTP头】。它由Python语言开发而成,因此运行需要安装python环境。但在kali中已经集成。其功能完善,有强大的引擎,适用几乎所有数据库,,可自动进行数据榨取,也可对检测与利用的自动化处理(数据库指纹、访问底层文件系统、执行操作系统命令),还可以做XSS漏洞检测【Windows SQLmap教程】
注意:sqlmap只是用来检测和利用sql注入点的,并不能扫描出网站有哪些漏洞,使用前请先使用扫描工具扫出sql注入点。
利用的五种漏洞检测技术原理
1、基于布尔的盲注测试
2、基于时间的盲注检测【若是该语句可以在服务器中运行,则按指定时间返回,若不能执行,返回错误或正常页面】,看自己加入的时间延迟变量会不会被执行,被执行则有注入漏洞
'and (select*from (select(sleep(20)))a)--+
3、基于错误的检测
4、基于UNION联合查询的检测
前提:使用于通过for/while循环直接输出联合查询结果,即SQL语句在循环内,否则只会显示第一项结果
5、基于堆叠查询的检测
通过分号(;)堆叠多个查询语句,使用于非select的数据修改、删除的操作
支持的数据库管理系统DBMS
MySQL、Oracle、PostgreSQL、Microsoft SQL Server, Microsoft Access,IBM DB2, SQLite,Firebird, Sybas