sqlmap注入小结

时间:2022-04-01 07:44:02

sqlmap注入时:

1、判断可注入的参数

2、判断可以用那种SQL注入技术来注入

3、识别出哪种数据库

4、根据用户选择,读取哪些数据

sqlmap支持五种不同的注入模式:

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

2、基于时间的盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断

3、基于报错注入,即页面会返回错误信息,或者把注入的语句的结果直接返回在页面中

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

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

sqlmap注入监测:

如果你想观察sqlmap对一个点是进行了怎样的尝试判断以及读取数据的,可以使用-v参数

共有7个等级,默认为1

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

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

2、同时显示debug信息。

3、同时显示注入的payload。

4、同时显示HTTP请求。

5、同时显示HTTP响应头。

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

注:如果你想看到sqlmap发送的测试payload最好的等级就是3。

sqlmap探测等级:

参数:--level

共有5个等级(默认等级为1)

sqlmap使用的payload可以在xml/payloads.xml中看到,你也可以根据相应的格式添加自己的payload。

这个参数不仅影响使用哪些payload同时也会影响测试的注入点,GET和POST的数据都会测试,HTTP Cookie在level为2的时候就会测试,HTTPUser-Agent/Referer头在level为3的时候就会测试。

总之在你不确定哪个payload或者参数为注入点的时候,为了保证全面性,建议使用高的level值。

sqlmap风险等级:

参数:--risk

共有3个等级(默认等级为1)

1、会测试大部分的测试语句

2、会增加基于事件的测试语句sql

3、会增加OR语句的SQL注入测试

在有些时候,例如在UPDATE的语句中,注入一个OR的测试语句,可能导致更新的整个表,可能造成很大的风险

测试的语句同样可以在xml/payloads.xml中找到,你也可以自行添加payload