盲注(Boolean盲注、时间盲注)
布尔(Boolean)盲注
1 布尔注入
有些情况下,开发人员屏蔽了报错信息,导致攻击者无法通过报错信息进行注入的判断。这种情况下的注入,称为盲注。 盲注根据展现方式,分为boolean型盲注和时间型盲注。
Boolean是基于真假的判断(true or false); 不管输入什么,结果都只返回真或假两种情况; 通过and 1=1和and 1=2可以发现注入点。
Boolean型盲注的关键在于通过表达式结果与已知值进行比对,根据比对结果 判断正确与否。
2 布尔盲注的判断方式
- 通过长度判断length():length(database())>=x
- 通过字符判断substr():substr(database(),1,1) =‘s’
- 通过ascII码判断:ascii():ascii(substr(database(),1,1)) =x
3 注入漏洞判断
1.id=1’ 报错
2.id=1 and 1=1 结果和id=1一样
3.id=1 and 1=2 结果异常为数值型,正常为字符型
字符型:
1.id=1’ 报错
2.id=1’ and 1=1–+
3.id=1’ and 1=2 --+ 异常