偏移注入主要是针对知道表,但是不知道字段的。
偏移注入是一种注入姿势,可以根据一个较多字段的表对一个少字段的表进行偏移注入,一般是联合查询,在页面有回显点的情况下
在SQL注入的时候会遇到一些无法查询列名的问题,比如系统自带数据库的权限不够而无法访问系统自带库。当你猜到表名无法猜到字段名的情况下,我们可以使用偏移注入来查询那张表里面的数据。 像Sqlmap之类的工具实际上是爆破字段的名字,但是如果字段名称比较奇葩,就无可奈何了
INNER JOIN 关键字语法,注释:INNER JOIN 与 JOIN 是相同的。
这里我已经知道了表示:sys_admin
可以使用:select exists(select *from sys_admin)
来猜测是否有sys_admin表,如果说存在的话页面就会显示正常
判断字段
爆出显示位
判断表内存在的字段数
接下来我们利用“*”代替admin表内存在的字段,由于是18个字段数,需要逐步测试,直到返回正常。
说明了sys_admin表下有11个字段。
偏移注入的基本公式为:
order by 出的字段数**减去*号的字段数,然而再用order by的字段数**减去**2倍刚才得出来的答案 也就是18-11=7 18-7*2=4得到答案是4
然后依次是套公式:
INNER JOIN 关键字语法,注释:INNER JOIN 与 JOIN 是相同的。
如此便爆出了账号密码。
as关键字
admin as a #把admin重命名为a