在sql注入中使用order by有什么用

时间:2014-02-10 13:44:19

标签: mysql sql

我正在学习SQL注入,我似乎无法理解order by语句。 wwwschools中的定义是,这会按升序或降序对给定表进行排序。使用整数时会发生什么?

例如。 按1排序

http://www.w3schools.com/sql/trysql.asp?filename=trysql_select_orderby 当我在这个例子中使用1的顺序时,我得到的客户ID从1到91排列。 当我在这个例子中使用2的订单时,我得到客户ID以锯齿形方式排列。 这种行为的原因是什么?如何在sql注入中使用命令来获取列数?

2 个答案:

答案 0 :(得分:3)

它可能是盲目SQL注入攻击的一部分。在服务器突然报告错误之前,您不断增加数字(表示应使用SELECT子句中的哪一列来确定排序顺序)。您现在知道查询的SELECT子句中的列数(它比您刚尝试的数字少一个)

答案 1 :(得分:0)

order by 1表示按结果集中第一列的值排序 order by 2表示按结果集中第二列的值排序。

SQL中的order by子句与SQL注入AFAIK没有直接关系。