引:盲注一般用于服务器没有给出sql执行后的回显,分为两类
布尔盲注:
布尔很明显Ture跟Fales,也就是说它只会根据你的注入信息返回Ture跟Fales,也就没有了之前的报错信息。
时间盲注:
界面返回值只有一种,true无论输入任何值 返回情况都会按正常的来处理。加入特定的时间函数,通过查看WEB页面返回的时间差来判断注入语句是否正确
盲注涉及的函数:
- Length(): 函数 返回字符串的长度
- Substr(): 截取字符串
- Ascii(): 返回字符的ascii码
- sleep(n):将程序挂起一段时间n为秒
- if(expr1,expr2,expr3):判断语句如果第一个语句正确就执行第二个语句如果错误就执行第三个语句
布尔盲注:
当返回结果分别是yes和on,更改ID的值,发现任然是yes和on,由此可以判断,页面只返回yes和on,而没有返回数据库中的数据,所以此处不可以使用union注入。可尝试利用Boolean注入,Boolean注入是指构造sql判断语句,通过查看页面的返回结果来探测那些sql判断条件时成立的,以此获取数据库中的数据。
1.判断注入点、注入类型
? id=1' and 1=1 --+ 返回正常 ?id=1' and 1=2 --+返回错误 没有显示执行结果,初步判断为盲注
2.查数据库长度
?id =1' and (length(database()