偏移注入

发布于 2022-03-16  232 次阅读


Access数据库特性总结

  • Access是一个小型数据库,全名为Microsoft Office Access,是由微软发布的关系数据库管理系统
  • Access数据库没有库的概念,所有表在一个数据库下,数据库文件后缀名为.mdb(office2007之前)或.accdb(office2007之后)
  • Access数据库不支持错误回显注入,并且也不能执行系统命令
  • Access数据库中没有注释符
  • Access注入常用函数
  select len("string")             查询字符串的长度 
  select asc("a")                  查询字符对应的ascii码
  select mid("string",start,len)   截取字符串,从start开始截取len长度字符串
  top n                            查询前n条记录
  top和limit的区别: top和limit一参数的使用方法一样

靶场实操

注入页面在产品展示页面

image-20211218214926325

order by判断当前表的字段数为26

然后union select判断admin表的字段数

image-20211218202329125

回显正常,说明admin表有16个字段

偏移注入进行查看字段值

image-20211218202615266

第一个字段值为1

image-20211218202706183

第二个字段值admin

image-20211218202746684

第三个字段值b9a2a2b5dffb918c

image-20211218202832594

第四个字段值为1

image-20211218202832594

第五个字段192.168.0.21

image-20211218203053890

第六个字段2021-10-26 19:19:01

image-20211218203132138

第七个字段2003-9-25 23:13:38

然后没有位置再向后面偏移了,怎么办???

image-20211218205647312

这个图片的src值是一个隐藏的显示位,那么我们就可以将所有的字段偏移出来

image-20211218205949796
image-20211218205958943

第十六个字段竟然是flag,其他的就向前偏移就可以

总结:

偏移注入,就是通过通配符*来查询所有列

即:表名.*表示该表下面的所有字段

偏移注入条件:

  • 在了解表名的情况下
  • 联合查询的表字段数小于当前页面的表字段数
  • 不足:并不是所有的列都可以查出