like在mysql是模糊查询的意思,语法结构就不说了,直接通过以下实例可了解
数据库名为:zilou
查询第1个字符是否为’z’,已知库名为’zilou’,所以是正确的,扎返回1表示正确
查询第1个字符是否为’q’,这自然是错误的,所以返回0表示错误
‘%’表示任意字符,可以放在字符后面,也可以放在字符前面或中间,例句如下
库名表名字段数据等等一般都是由字母数字符号组成的,ascii码的十进制编号33-126对应的符号基本都将这些包含在内,所以只要生成一个这样的ascii码字典,就可以通过爆破的方法拿到数据
生成ascii码字典的php代码如下
执行代码,就可以生成字典文件如下
这样就生成了33-126的ascii码符号
以第10关的布尔盲注靶场为例
查询库名长度
下划线表示1个任意字符,输入了5个下划线,返回正常,说明库名长度在5个字符之内
输入了12个下划线,返回正常,说明库名长度在12个字符之内
输入了13个下划线,返回错误,说明库名长度为12个字符
查询库名
打开burpsuite,进行抓包
Ctrl+i,将包发到爆破模块,将要替换的a选中
选择刚才生成的ascii码字典
设置节流阀,改成200ms(懂的)
开始跑包
如下图,可以发现有4个包字节比较大,那是因为有数据,分别是:K,k,下划线,百分号,下划线,百分号是匹配所有的意思,可以忽略,这样就可以得出,库名第1个字符为k或K(不区分大小写)
将第1个字符写进去,现在爆破第2个字符
第2个字符为a
用这个方法将所有字符爆破出来,库名为:kanwolongxia
以下不再描述爆破过程
查询表名长度
表名有6个字符
查询表名
表名为:loflag
查询字段长度及字段名
limit 1,1 处的字段长度为6个字符,字段名为flaglo
查询数据长度及数据名
flag长度为8个字符,flag为zKaQ-QQQ
打赏我,让我更有动力~
© 2016 - 2024 掌控者 All Rights Reserved.