上QQ阅读APP看书,第一时间看更新
2.5 时间盲注
时间盲注出现的本质原因也是由于服务器端拼接了SQL语句,但是正确和错误存在同样的回显。错误信息被过滤,不过,可以通过页面响应时间进行按位判断数据。由于时间盲注中的函数是在数据库中执行的,因此在CTF比赛中关于时间盲注的题目比较少,原因在于sleep函数或者benchmark函数的过多执行会让服务器负载过高,再加上CTF里面的一些“搅屎棍”的参与,会让题目挂掉。不过,有时候我们还是会在CTF中遇到这些题目,这里简单说一下注入的方法。
时间盲注类似于Bool盲注,只不过是在验证阶段有所不同。Bool盲注是根据页面回显的不同来判断的,而时间盲注是根据页面响应时间来判断结果的。一般来说,延迟的时间可以根据客户端与服务器端之间响应的时间来进行选择,选择一个合适的时间即可。一般来说,时间盲注常用的函数有sleep()和benchmark()两个,具体说明如表2-4所示。
表2-4 可用来延时的函数