延时盲注(一)

延时注入的原理

适用于,无法回现和无法显示错误页面的场景

利用函数sleep()让服务器休眠,通过休眠时间判断执行的语句对错,从而得到我们想要的信息

我们看到界面,首先在url栏进行GET传参,但是没有任何回显,界面没有变化

" and 1=2 %23

在这里插入图片描述
然后使用延时注入,

" and sleep(5) %23

在这里插入图片描述

1,判断当前库名的长度

这里我们用到了数据库里的if语句
有点类似于三元运算,条件成立,就执行第二个,条件不成立就执行第三个。
在这里插入图片描述

" and if(length(database())=12,sleep(5),1) %23

结果=12时网页睡眠,可以判断当前库名有12个字符
在这里插入图片描述

2,猜库名

" and if (ascii(substr(database(),1,1))=107,sleep(5),1) %23

结果=107时网页睡眠,可以判断库名第一个字符对应的ascii码为107 字符为 k
在这里插入图片描述

后面的步骤差不多是用if+ascii+subsrt函数来手动注入

接下来就用工具来跑了

原理

跟以往的方法不一样,这里不是看数据包的长度了,因为这里返回的所有数据都是一样的,所以也就所有的数据包的长度也都一样。
但是通过前面我们手动注入时发现,延时注入成功的话,页面会睡眠,然后再回显给你,
那么我们就来看那个数据包,没有回显过来。而是去睡眠去了,通过这样,我们来知道是否延时注入成功。

注意事项。

还有就是,因为我们是通过睡眠的页面来判断是否延时注入成功。那么我们肯定就不能全部一起跑,否则很难看出来。

这里我都是一个一个的爆破点跑的。

" and%20if(ascii(substr(database(),1,1))=107,sleep(20),1) %23

注意要变成url编码哟
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
把substr函数的起始位置一直手动替换,然后爆破,
最后拼接起来的

数据库名 kanwolongxia

查表语句:

这条查询语句查询出来可能会查询出多个表(多个字符串),
但是substr函数只能处理一个字符串,
所有我们要在后面加上 limit 函数,限制只能输出一个表(一个字符串)

" and if(ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))>106,sleep(5),1) -- +

后面的做法跟布尔盲注的思路都是一样的,只是多了个if语句和只能一个一个爆破点的跑。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值