Sqli-labs靶场笔记3(Less5~6 布尔型盲注)

Less5

照样还是先测一测闭合方式
在这里插入图片描述从这个就可以大概推断出是’闭合
在这里插入图片描述但是我们继续会发现没有东西
在这里插入图片描述我们可以通过这个来猜测它的逻辑就是输入的东西为真就会有回显,为假就没有回显,我们就可以利用这个逻辑来获取信息,比如用and连接两个语句,由于and的性质,只有当两个语句均为真的时候才为真,这个时候就可以保证前面语句为真的情况下去查我们想知道的内容。当然用or也可以,只不过就要反过来,要保证前面的语句为假。
在这里插入图片描述这里的查不是指直接把我们想要的数据输出出来,而是我们一个个去测试,看看是什么,这样的注入就是盲注(因为我们不能直接看到信息),又因为我们是通过页面输出的信息判断真假,所以又叫布尔型盲注。我们来试着爆库名。
在这里插入图片描述
上面的substr是字符串切割函数,指定切割位置和长度就可以从指定字符串切割子字符串,上面语句的整体意思就是判断数据库名的第一个字符是不是s,显然页面输出了you are in就证明我们是对的。这里是因为我们做了前面的题目知道数据库名字就叫security,所以直接测试的s,真正情况下应该是从a开始测试,一位位的测试,下面是一个例子。

在这里插入图片描述在这个例子中我测试了数据库名的第二位是不是a,结果显然不是,但是在我们用这个方法去爆表名的时候会遇到下面的问题
在这里插入图片描述这是因为查到的表名不只一个,所以我们要限制一下
在这里插入图片描述比如我这里用limit去取了查到的第一个表名,根据我们之前做的题目可以知道是email,所以我这里就简单判断了一下第一个字符是不是e,发现确实是的。然后我们再来爆列名

?id=1' and substr((select column_name from information_schema.columns where table_schema ="security" and table_name="users" limit 0,1),1,1)='i'--+

在这里插入图片描述
最后来爆一下数据,之前我们已经知道第一个用户的密码是dumb,所以我直接这样测试了

?id=1' and substr((select password from users limit 0,1),1,4)='dumb'--+

在这里插入图片描述

Less6

这个题也是一样,要先测试一下闭合方式

在这里插入图片描述很显然是"闭合,这里需要补充一下Less5没有写的一点,那就是我们在一位位的进行盲注的时候首先要测出这些数据的长度,不然都不知道测到什么时候才结束,长度可以这样测试

在这里插入图片描述还是跟之前一样,用二分法就可以快速确定,然后爆表名

?id=1" and substr((select table_name from information_schema.tables where table_schema="security" limit 0,1),1,6)="emails" --+

在这里插入图片描述接着爆列名

?id=1" and substr((select column_name from information_schema.columns where table_schema="security" and table_name="users" limit 0,1),1,2)="id" --+

在这里插入图片描述最后爆数据

?id=1" and substr((select password from users limit 0,1),1,4)="dumb" --+

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值