布尔盲注是什么?
当存在SQL注入时,攻击者无法通过页面或请求的返回信息,回显或获取到SQL注入语句的执行结果,这种情况就叫盲注。
布尔型盲注就是利用返回的True或False来判断注入语句是否执行成功。它只会根据你的注入信息返回Ture跟Fales,也就没有了之前的报错信息。
什么情况下考虑使用布尔盲注?
- 该输入框存在注入点。
- 该页面或请求不会回显注入语句执行结果,故无法使用UNION注入。
- 对数据库报错进行了处理,无论用户怎么输入都不会显示报错信息,故无法使用报错注入。
布尔盲注是在SQL注入时没有回显和报错,无法使用联合查询和报错注入时的手段,它通过返回的布尔值true或false来判断注入语句是否成功,所以被叫作布尔盲注。
布尔盲注获取sqli-labs名称
安装sqli-labs数据库后,在虚拟机中打开链接:http://127.0.0.1/sqli-labs-master/Less-8/,以第8关为例,用布尔盲注获取数据库名称:
获取数据库名字的字符长度:
输入下面代码正常回显,说明数据库名称字符长度大于0
?id=2' and length(database())>0 --+