1、order by解释:
在SQL语言中,order by语句后面加上字段名,就可以对查询结果排序。但他有一种特殊用法,就是在后面不添加字段名,而添加数字的方式。添加数字的时候,表示以该表第几个字段进行排序。只有当数字小等于字段数时,才有效。所以通过这个条件,可以判断一个表中存在多少个字段。例如order by 10 返回正常,而order by 11页面返回错误,则说明数据库存在10个字段。
2、union select 1,2,3,4,5,6,7,8,9,10,11 from
首先解释一下select后面几个数字的意思,1,2,3,4...,这里的几个数字纯粹是凑数的,凑够和union关键字前面的那个表的字段数一样,不然没法拼接成一个表。在sql注入的时候,在将相应位置替换成你想获得的数据,查询结果后面就会显示出来。如下图最后一行:
3、常用函数
在mysql中 有很多的注射能用到的函数 比如 user() database() version() 分别用来查看当前数据库连接的用户名,数据库名称 以及mysql的版本比如返回 3 6 7 那么你把3 6 7 替换成user() database() version() 也就是 union select 1, 2 ,user() ,4 ,5 ,loadfile(), version() ,9 ,10, 11 这样就可以在页面上爆出 用户名 绝对路径之类的
时间: 2024-10-25 18:42:56