什么是布尔判断SQL注入?
“布尔判断”指的是利用SQL语句**逻辑与(and)**操作,判断and两边的条件是否成立,SQL语句带入输入库查询后判断返回内容(通常返回值仅有非空和空两种状态),类似布尔型的true和false的两种状态。
布尔盲注步骤:
第1步:确认注入点
方法:通过增加 ’ 和增加--+注释符,语句从执行失败变为执行成功判断注入点
第2步:判断数据库版本
方法:主要因为5.0版本以下没有information_schema数据库,无法进行手动注入; 由于无法回显数据,利用逻辑操与数据库版本第1位数字字符做判断; 语句:?id=1' and left(version(),1)=5 --+
第3步:判断当前查询数据库的长度
方法:由于无法回显数据,先判断当前数据库的长度,减小后面猜解数据库名称工作量; 语句:?id=1' and length(database())>8 --+
第4步:猜解当前数据库名称(本步骤需要重复)
方法:利用第3步确认的数据库长度,结合substr函数,一个一个字符猜解,利用二分法; 语句:?id=1' and ascii(substr(database(),1,1))>110 --+