实验15:sql盲注原理及基于boolean的盲注

sql盲注原理及基于boolean的盲注

盲注:

有时,后台用错误消息屏蔽方法屏蔽报错,无法根据报错信息来判断注入,这种情况的注入叫做盲注。

盲注分为based boolean(基于真假)和based time(基于时间) 两种

本章我们学习的是基于真假的盲注——based boolean

特征:
1、无报错信息
2、无论对错只有两种情况(如:0或1)
3、正确时输入and 1=1或and 1=2可判断
我们以Pikachu为例:
打开Pikachu的盲注base on boolean
实验15:sql盲注原理及基于boolean的盲注_第1张图片
我们可以尝试一下,先用单引号判断是否有显示sql报错
实验15:sql盲注原理及基于boolean的盲注_第2张图片
无法显示,可以判断错误消息被屏蔽了。
这时,如果我们还想要获取一些信息的话,我们就需要使用一个正确的用户名,然后就在其后面加上一些判断,进行信息的获取。
如:输入kobe’ and ascii(substr(database(),1,1))>113#
其中,kobe是正确的用户名,substr(),1,1是取在它括号中的信息中的第一个字母,ascii()则是将字母转化为ascii码,之后用数字一一判断。
如图:
实验15:sql盲注原理及基于boolean的盲注_第3张图片
这里我输入的是kobe’ and ascii(substr(database(),1,1))=112#
意思是取数据库第一个字符,转化为ASCII码,并判断是否是112
获得正确显示,说明第一个字母确实是112,也就是“p”,以此类推,只要耐心地去尝试,我们就可以得到全部的信息。

你可能感兴趣的:(作业)