order by排序猜解列数原理详解
使用
「联合注入」(SQL注入漏洞的利用方式之一)进行脱库的时候,需要判断页面显示的
「字段」数量,也就是返回的查询结果包含几个字段,最常用的一种判断方式就是利用
order by 排序判断字段数。
一、order by的两种使用方式
首先,我们准备一个「用户表」,表的内容如下
1)按照字段名排序
order by 排序可以按照指定的「字段名」排序,我们可以指定 username 字段,让查询结果按照用户名进行排序
我们可以看到,查询结果按照字段名降序。我们可以指定任意一个「存在」的字段进行排序
2)按照索引排序
除了字段名之外, order by 还可以按照「索引」进行排序,索引就是从左至右将列名按照123排序。我们还是指定 username 字段,让查询结果按照用户名进行排序, username 是查询结果中左边第一个字段,所以对应的索引是 1
我们可以看到,按照索引排序,查询的结果同字段名排序时一样的
二、order by怎么判断字段数?
原理很简单,就是利用数据库的「报错」机制。
1)正常的排序
首先我们来模拟一下正常的「登录」登录功能的查询语句,根据用户名和密码查询用户的信息
我们可以看到,查询结果有两列,接下来我们使用 order by 对查询结果进行排序,首先根据「第一列」也就是 username 进行排序
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点!真正的体系化!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
s/618653875)
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!