Access-偏移注入

参考:网上关于这个的解释太多,这三个连接是我觉得写的清楚明了,好理解的

偏移注入语句:https://www.fujieace.com/penetration-test/access-offset-injection.html

join语句详解(便于理解偏移注入原理):https://www.jb51.net/article/4848.htm

偏移注入语句和原理和应用:https://www.jianshu.com/p/f2af42bd8fba

 

1 原理:借用数据库的自连接查询(inner join)让数据库内部发生乱序,从而偏移出所需要的字段在我们的页面上显示。

2 在看偏移注入的时候,有个地方我很疑惑:

偏移注入适用于知道表名,但不知道列名的时候。字段就是列

  1. 首先是order by 查询字段数,
  2. 再确定表名
  3. 再select 1,2,4,5,admin.* from admin 查询字段数

我就奇怪了,第一步就查询字段数了,后面查询的字段数是什么,后来查询到,原来order by 查询到的字段数并不是这个表的字段数,而是前面查询语句的查询结果的字段数

(哎,学术不精)

3 继续看偏移注入

admin.*==admin下所有字段

Select * from admin as A JOIN admin as B ON A.Aid=B.Aid   内连接查询,查询A表和B表Aid一样的数据的数据,因为A和B其实是一张表,就是命名不一样了,所以这个字段数是表的字段数的2倍

 

一级偏移语句:

127.0.0.1/asp/index.asp?id=1513 union select 1,2,3,4,5,6,7,8,9,10,* from (admin as a inner join admin as b on a.id = b.id) 

如果你发现,上面查看了网页源码也爆不出数据,请用以下方法:

二级偏移语句:

127.0.0.1/asp/index.asp?id=1513 union select 1,2,3,4,a.id,b.id,c.id,* from ((admin as a inner join admin as b on a.id = b.id)inner join admin as c on a.id=c.id)

 

偏移注入不是注入点,而是注入的方法

posted @ 2021-10-09 15:38  A思  阅读(156)  评论(0编辑  收藏  举报