Web渗透测试之SQL注入:Level9--时间盲注

前言

  在上一篇我们提到了传统上盲注可由判断注入情况的表征不同可划分为布尔盲注和时间盲注,本篇将围绕时间盲注进行讲解。

题目分析

题目首页如下:
首页
加上单引号结果:
单引号结果
相比于上次(Level8),这次加上单引号后既没有打印报错信息,也没有出现异常页面,猜测做了过滤。继续输入双引号:
双引号结果
结果同单引号,难道不存在漏洞?无奈只能拿SQLMap扫描确认了。扫描结果如下:
扫面结果
确实存在注入漏洞且闭合符为单引号,接下来尝试采用时间盲注进行渗透测试。那什么是时间盲注呢?

时间盲注

  上篇的布尔盲注依据页面返回true和fault判断注入语句执行的情况,而在时间盲注中利用的则是时间差。在设定好时间延迟的情况下,如果页面立即返回则等价于布尔盲注中的fault,如果页面按照设定时间延迟返回则等价于布尔盲注中的true

时间盲注常用函数

  时间盲注常用的函数在布尔盲注常用函数的的基础上加上sleep函数即可。
sleep():按照指定时间休眠后再次启动,参数单位为秒。

示例

依旧以获取数据库名为例。先确定库名长度,语句如下:
'and (if((length(database()))<10,sleep(5),null)) - -+
该语句的含义为如果库名长度小于10,则执行sleep(5),否则什么也不做。
结果如下:
延迟5秒
  无论是视觉感受还是查看控制台,都可以确定页面返回时延迟了5秒,因此库名应小于10。之后的操作与布尔盲注一致。

总结

  在时间盲注中依据是否存在时间延迟来判断语句的执行情况,存在延迟则相当于布尔盲注中的true,不存在延迟则相当于fault。时间盲注在核心思想上与布尔盲注并无区别,只不过二者用来判断语句执行情况的表征不同罢了。
  以上就是本篇的全部内容,我们下篇见。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值