sqli-labs关卡之一(两种做法)

目录

一、布尔盲注(bool注入)

 二、时间盲注(sleep注入)


一、布尔盲注(bool注入)

页面没有报错和回显信息,只会返回正常或者不正常的信息,这时候就可以用布尔盲注

布尔盲注原理是先将你查询结果的第一个字符转换为ascii码,再与后面的数字比较,如果为真,整个查询条件就为真,返回正常的结果,反之,返回不正常的结果

?id=1' and  ascii(substr((select database()),1,1))>110--+  

sqli-labs关卡之一(两种做法)_第1张图片

sqli-labs关卡之一(两种做法)_第2张图片

 布尔盲注如果靠手工的话,是很费时间的,这里的话,后面数字大于114是没有回显的,虽然说数字不大可以手工试出来,但是真实情况下会很浪费时间,所以我们最好使用工具进行,使用Python脚本去盲注或者sqlmap。

这里我使用sqlmap为例(效率比python脚本高很多)

sqli-labs关卡之一(两种做法)_第3张图片

 二、时间盲注(sleep注入)

sleep注入解决的是页面没有任何报错信息输出,不管对或错都是一种返回结果,此时我们就无法使用bool注入了

主要原理和布尔盲注一样,比较大小,如果为真就返回1,为假就沉睡3秒,通过网络请求可以看到请求有多少秒

sqli-labs关卡之一(两种做法)_第4张图片

 时间盲注的话,如果为假会有个沉睡时间,纯手工去注入会更慢,python脚本也不快,但比人工快

你可能感兴趣的:(数据库)