从零开始学渗透--SQL注入(三)

经历了有回显信息的SQL注入(字符型,数字型),也见过了有错误信息提示的布尔盲注和普通盲注,接下来就是更进一步的无回显,无报错的时间盲注了!

原理

在没有错误回显和普通的回显信息后,我们只能通过时间盲注了,本质是经过sleep函数,当成功时,服务器会执行sleep 休眠一段时间后再返回数据,通过观察浏览器发送请求到服务器返回数据的时间延迟,即可判断出是否存在时间盲注

靶场实战

从零开始学渗透--SQL注入(三)_第1张图片

首先还是常规套路,先判断是否存在注入点.

?id=1' and 1=1--+
?id=1' and 1=2--+

在经历多次尝试页面均无变化,考虑是否只返回这一个页面,尝试判断是否存在时间盲注点

控制台network中观察返回
?id=1 and if(1=1,sleep(4),1)--+ // 无反应,换单引号构造
?id=1' and if(1=1,sleep(1),1)--+
?id=1' and if(1=1,sleep(5),1)--+
?id=1' and if(1=1,sleep(6),1)--+

image.png 阻塞1秒,查询2秒
image.png 阻塞5秒,查询2秒
存在时间注入点!

接下来就是常规的盲注思路

主要改变点在于 and if (xxx, sleep(5),1) 用if判断,观察network返回

分享完毕,本文有点水,主要在于其实布尔盲注与时间盲注的整体思路基本一致,关键还是看怎么灵活怎么来,继续加油。

靶场具体过程可看
https://blog.csdn.net/qq_4126...

你可能感兴趣的:(安全sql)