基于时间的盲注
盲注简介
盲注就是在sql注入过程中,sql语句执行的选择后,选择的数据不能回显到前端页面。此时,我们需要利用一些方法进行判断或者尝试,这个过程称之为盲注。
盲注原理
盲注的本质就是猜解,在没有回显数据的情况下,我们只能靠‘感觉’来体会每次查询时一点点细微的差异,而这差异包括运行时间的差异和页面返回结果的差异。
对于基于布尔的盲注来说,我们可以构造一条注入语句来测试我们输入的布尔表达式,而这布尔表达式结果的真假,决定了每次页面有不同的反应。
对于基于时间的盲注来说,我们构造的语句中,包含了能否影响系统运行时间的函数,根据每次页面返回的时间,判断注入的语句是否被成功执行。
盲注分类
•基于布尔SQL盲注
•基于时间的SQL盲注
•基于报错的SQL盲注
盲注的流程:
- 找寻并确认sql盲注点
- 强制产生通用错误界面
- 注入带有副作用的查询
- 根据布尔表达式的真假结果,结合不同的返回结果确认注入是否成功
基于时间的盲注:
常用函数:
If(exp,v1,v2):如果表达式 expr 成立,返回结果 v1;否则,返回结果 v2 Substring(s,n,len):获取从字符串 s 中的第 n 个位置开始